SQLShack (한국어)

이 문서에서는 문자열 조작을 사용하여 SQL 을 병합 기능에서 SQL Server.

문자열 조작 프로세스를 생성하는 다른 형태의 기존 방식으로 데이터 비즈니스 용도로 표시되거나 결과를 보고합니다. 이전 SQL 문자열기능은 기사가 포함 string SQL 함수를 위한 데이터 은폐 및 SQL 문자열 기능 개요 논의 데이터 준비과 데이터 관리 작업장에서 SQL 서버는 문자열 기능이 있다.,

SQL server 에는 또한 데이터를 조작하고 변환 할 수있는 몇 가지 내장 문자 함수가 있습니다. 동시에,을 검사하는 것이 중요 데이터 집합을 탐구,데이터 값을 인코딩 또는 디코딩하는 값이 필요하다면,생성하는 의미있는 데이터입니다. 그것이 중요하는 방법을 알고 탐색을 통해 누락된 값에서 우리의 데이터 집합,이해에 미치는 영향은 계산,쿼리,보고서 및 데이터 설정 준비와 함께 오는 기법을 피하기 위해시키는 Null 값을 파괴의 결과.

NULL 값이란 무엇입니까?,

전에 우리가 탐구하는 방법 탐색하고 잠재적인 지뢰밭의 데이터 집합으로 missing 값을 피하기에 스테핑 Null,먼저 살펴볼 것 NULL 입니다.

정의된 대로 Wikipedia

Null(또는 NULL)은 특별한 마커에 사용되는 구조적 질의 언어를 나타내는 데이터 값에 존재하지 않는 데이터베이스입니다. 관계형 데이터베이스 모델의 작성자에 의해 도입,E.F., 커드,SQL Null 를 제공하여 요구 사항을 충족하는 모든 사실 관계형 데이터베이스 관리 시스템(RDBMS)지원의 표현이”누락 정보를 적용할 정보”. Codd 는 또한 데이터베이스 이론에서 null 을 나타내는 소문자 그리스 오메가(ω)기호의 사용을 도입했습니다. SQL 에서 NULL 은이 마커를 식별하는 데 사용되는 예약어입니다. …이것은 0 의 값과 혼동되어서는 안됩니다. Null 값은 값이 부족하다는 것을 나타냅니다.,

또한…

SQL null 은 값이 아닌 상태입니다. 이 사용법은 참조의 null 값이 어떤 객체를 가리키고 있지 않다는 것을 의미하는 대부분의 프로그래밍 언어와 상당히 다릅니다.

SQL 가를 제공 몇 가지 편리한 기능을 위해 작업으로 귀하의 문자 데이터에서 SQL 쿼리를 우리는 우리 것에 대해 자세히 설명

SQL 병합 기능

SQL 뭉쳤 IsNull 기능을 처리하는 데 사용되는 NULL 값이 있습니다. 표현식 평가 프로세스 중에 NULL 값이 사용자 정의 값으로 대체됩니다.,

SQL Coalesce 함수는 인수를 순서대로 평가하고 항상 정의 된 인수 목록에서 첫 번째 null 이 아닌 값을 반환합니다.

Syntax

합체(식)

속성 SQL 병합 기능

  1. 는 식의 동일한 데이터 유형
  2. 포함할 수 있습니다에 여러 표현
  3. SQL 병합 기능은 구문 바로가기 위해 경우 식
  4. 항상 평가하는 정수를 위해 먼저,정수에 의해 다음 문자 표현이 수익률이 정수로 출력됩니다.,

예:

SQL Coalesce 에 연결 문자열 조작

다음 예에서,우리는 연결 어떤 값이 있습니다. 그러나 다시 말하지만,우리가 NULL 값을 가질 때 어떤 일이 발생하는지 알려주는 리뷰 일뿐입니다. 그래서,가서 T-SQL 을 실행하자. 그리고 문자열 연결 작업을 처리하는 동안 NULL 값이 발생하는 것을 볼 수 있습니다. SQL server 는 단순히 NULL 값이 발생할 때마다 NULL 을 반환합니다. 결과는 firstname,null 및 last name 의 조합이 아닙니다.,

1
SELECT firstName +’ ‘+MiddleName+’ ‘+ LastName FullName FROM Person.Person

Let us handle the NULL values using a function called SQL COALESCE. It allows handling the behavior of the NULL value., 따라서이 경우 coalesce SQL 함수를 사용하여 중간 이름 NULL 값을 값”(Char(13)-space)로 바꿉니다. SQL 문은 여전히 세 가지 이름을 모두 연결해야하지만 NULL 값은 출력에 표시되지 않습니다. 이제 전체 이름이 널 값에 대해 중간에 공백으로 표시되는 것을 볼 수 있습니다. 이러한 방식으로,효율적으로 열 값을 사용자 정의하는 것이 가능하다.,

1
선택 firstName+”+COALESCE(MiddleName,”)+”+성에서 사람입니다.사람

SQL 병합 기능 및 선회

다음을 반환하고 연결이 null 이 아닌 값에서 테이블에’상태’. 경우에 따라 변수에 연결된 정적 값을 할당해야 할 수도 있습니다., 이 경우 coalesce SQL 함수를 사용하여 city 열의 값을 구문 분석하고 작은 따옴표 내에 연결하여 값 문자열을 준비합니다. 그런 다음 출력은 입력 값의 유효한 문자열을 가져 오기 위해 마지막 문자를 제거하도록 추가로 조작됩니다.,

Output:

1
SELECT ‘(‘+substring(@col,1,len(@col)-1)+’)’

Scalar user-defined function and SQL Coalesce function

A user-defined function is created to return a string specific to the provided input and then the output is grouped using a grouping clause., 다음 예에서 스칼라 값 함수는 지정된’도시’입력에 대해’,’로 구분 된 연결 문자열 값을 반환합니다. 다음 예제를 반환 출력 상태의 열은 그룹과 그 도시의 값이 연결 및 분리로 구분 기호’,'(쉼표). SQL Server2017 을 사용하는 경우 STRING_AGG 를 사용할 수도 있습니다. 참조할 수 있습니다 더 많은 정보와 문서 위에서 SQL 문자열 기능에서 SQL Server2017

여기에 어떻게 우리는 함수를 호출 이름 dbo.select 문에 tfn_CoalesceConcat.,

The output is a concatenated stream of values separated by a delimiter ‘,’

1
2
3
4

SELECT state, city = dbo.tfn_CoalesceConcat(state)
FROM dbo.,상태
그룹에 의해 국가
에 의해 주문 상태

데이터 유효성 검증을 사용하여 SQL 을 병합 기능

다음 예에서,우리는 것을 찾아 비상 직원 연락처입니다. 일반적으로 모든 조직에서 직원의 전화 번호는 직장,집,휴대 전화 열 아래에 나열됩니다.

우리를 찾는 방법을 참조하십시오 직원이 없는 비상 연락처를 나열하거나,다시 말해서,빼자의 모든 세부 사항 직원과 비상 연락처입니다.,

다음 예에서 tb_EmergencyContact 는 모든 직원의 연락처 번호를 보유합니다.

SQL Coalesce 기능은 homephone,workphone 및 cellphone 열을 선택하는 데 사용됩니다. NULL 값인 값’NA'(해당 없음)의 경우 리터럴 문자열이 반환됩니다.

SQL Coalesce 및 계산 열

다음 예제를 사용하여 SQL COALESCE 값을 비교하의 hourlywage,급여,위원회 열고 반만 null 이 아닌 값을에서 찾을 열이 있습니다.,

다음 T-SQL 사용하여 목록을 총 급여의 지불하는 모든 직원

이제 우리가 예를 들어 보자를 계산 열을 만들과 SQL 병합 기능에서 SQL Server

에서 일반적으로,필요할 수 있을 사용하는 표현에서 테이블이 있습니다. 테이블에서는 종종 여러 개의 기존 열을 사용하고 테이블의 스칼라 값이 거의없는 값을 계산해야합니다. 또한 이러한 열은 하나 이상의 다른 열에 종속됩니다., 이 방법으로 Coalesce SQL 함수를 사용하여 계산 된 열을 만들어 NULL 값을 효율적으로 처리 할 수 있습니다.

이제 간단한 SELECT 문이 미리 계산 된 결과를 표시한다는 것을 알 수 있습니다.

SQL COALESCE 및 CASE expression

SQL COALESCE 함수는 CASE expression 을 사용하여 구문 적으로 나타낼 수 있습니다. 예를 들어,우리가 알고있는 것처럼 Coalesce 함수는 첫 번째 NULL 이 아닌 값을 반환합니다.,

TABLENAME 에서 SELECT COALESCE(expression1,expression2,expression3);

위의 Coalesce SQL 문은 CASE 문을 사용하여 다시 작성할 수 있습니다.,id=”6df95ef3dd”>

1
2
3
4
5
6
7
8
9
10
11
12
SELECT
firstname+”+성 fullname,
관계
경우
경우 자택전화번호가 NULL 이 아닌 그 자택전화번호
면 핸드폰은 NULL 이 아닌 다음 휴대 전화
경우 workphone NULL 이 아닌 다음 workphone
ELSE’NA’
INDIA
EmergencyContactNumber
에서는
dbx.,tb_EmergencyContact

쿼리 같은 결과를 반환합으로 사용 하는 것이 병합 기능이 있다.

포장

이 문서에서 설명한 몇 가지 팁과 트릭을 사용하여 SQL 병합 기능을 쿼리를 효과적으로 T-SQL. 또한 SQL Coalesce 함수의 다양한 사용 사례에 대해서도 논의했습니다. 계산 된 열을 만들어 출력을 최적화하는 것도 가능합니다.

SQL Server 의 Coalesce 함수에 대한이 기사를 즐겼기를 바랍니다., 아래의 의견에 어떤 질문을 주시기 바랍니다.

  • 저자
  • 최근 게시글
나는 데이터베이스 기술자를 갖는 11 년 이상의 풍부한 경험에 데이터베이스 기술입니다. 나는 마이크로 소프트 인증 전문 및 컴퓨터 응용 프로그램의 석사 학위를 백업입니다.
내 전문 분야는 고 가용성 솔루션 및 크로스 플랫폼 DB 마이그레이션을 구현하는&설계에 있습니다., 현재 작업중인 기술은 SQL Server,PowerShell,Oracle 및 MongoDB 입니다.,
모두 보기 게시물에 의해 Prashanth 자야람 박사
최근 게시물에 의해 Prashanth 자야람 박사(조)
  • 빠른 개요 데이터베이스의 감사에서 SQL-January28, 2021
  • 설정하는 방법 Azure 데이터 동기화를 사 Azure SQL 데이터베이스에서 구내 SQL Server-January20,2021
  • 를 수행하는 방법 Azure SQL 데이터베이스에 가져오기/내보내기를 사용하여 작업 PowerShell-January14,2021

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다