데이터베이스.안내

SQL Server 환경에서,두 개의 많은 문자열 기능은 우리의 처분에 있는LEFT()SUBSTRING().

이러한 함수는 비슷한 일을하지만 차이점이 있습니다. 이 기사에서는 이러한 기능 간의 주요 차이점 중 일부를 살펴 봅니다.

정의

첫째,그 각각의 기능은:

LEFT()반환합니다 왼쪽의 문자열로 지정된 문자입니다., SUBSTRING()는 문자,이진,텍스트 또는 이미지 표현식의 일부를 반환합니다.

SoLEFT()는 문자열의 왼쪽 부분 만 반환합니다.

SUBSTRING()단순히 반품의 일부 식(이에 한정되지 않은 왼쪽 부분이 될 수있는 왼쪽,오른쪽 또는 곳 중에서).

를 들어 1–와 동일한 결과

모두 함수를 반환하는 데 사용할 수 있습니다 특정 문자의 수 있습니다.

SELECT LEFT("Buckethead", 6) AS , SUBSTRING("Buckethead", 1, 6) AS ;

결과:

+--------+-------------+| LEFT | SUBSTRING ||--------+-------------|| Bucket | Bucket |+--------+-------------+

그러나LEFT()더 간결하고 있습니다., 이것은 부분적으로 함수 이름에 문자가 적다는 사실 때문입니다. 그러나 구문 때문이기도합니다. LEFT()기능을 필요로는 두 개의 인수(표현,그리고 반환할 문자의 수),하는 반면SUBSTRING()필요한 세 개의 인수(식 출발 위치,그리고 문자 수를 반환에서 시작하는 위치에 있습니다).,

예제 2–하위 문자열이 잘

SUBSTRING()보다 훨씬 더 나은LEFT()에 잡는 데이터 중간에서의 문자열입니다. 실제로 왼쪽은 그것을 위해 설계되지 않았습니다. 당신이 정말로 원하는 사용하는LEFT()이렇게하려면,당신이 할 필요가 일부는 속임수 등을 사용하는RIGHT()기능으로 첫 번째 인수로 합니다.,

예:

SELECT LEFT(RIGHT("Buckethead", 7), 3) AS , SUBSTRING("Buckethead", 4, 3) AS ;

결과:

+--------------+-------------+| LEFT/RIGHT | SUBSTRING ||--------------+-------------|| ket | ket |+--------------+-------------+

허용 데이터의 유형

LEFT()기능을 허용하지 않는 텍스트 및원하는 데이터 형식으로 첫 번째 인수로 합니다. Varchar 또는 nvarchar 로 변환 할 수있는 다른 모든 데이터 유형을 지원합니다. 반면에

SUBSTRING()함수는 문자,이진,텍스트,ntext 및 이미지 표현식을 허용합니다.,

반환 값

LEFT()반환 varchar 을 때 첫 번째 인수 비는 유니코드 문자 데이터 입력,그리고 이며 때 그것은 유니코드 문자 데이터를 입력합니다.,

The return values for SUBSTRING() are as follows:

Expression (first argument) Return type
char/varchar/text varchar
nchar/nvarchar/ntext nvarchar
binary/varbinary/image varbinary

답글 남기기

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