검색결과 리스트
글
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
컬럼중 특정한 문자 갯수를 알고 싶을 때 다음과 같은 SQL 문으로 갯수를 알수 있습니다.
DECLARE @컬럼 VARCHAR(100)
SET @컬럼 = 'aaabbbb@aaaaaaa@aabbbb@addddd'
SELECT LEN(@컬럼) - LEN(replace(@컬럼,'@',''))
@문자의 갯수는 3이다.
LEN 함수는 주어진 문자열 식의 바이트 수 대신 후행 공백을 제외한 문자 수를 반환합니다.
이럴 경우는 드믈겠지만 만약에 문자열 뒷쪽에 공백문자가 있을때 공백문자의 갯수를 구하고 싶을경우에는 LEN함수를 사용할 수 없습니다. 그럴때는 식을 표시하는 데 사용된 바이트 수를 반환하는 DATALENGTH 함수를 사용합니다.
DECLARE @컬럼2 VARCHAR(100)
SET @컬럼2 = 'aaabbbb@aaaaaaa@aabbbb@addddd '
SELECT DATALENGTH(@컬럼2) - DATALENGTH(replace(@컬럼2,' ',''))
공백문자 (' ') 의 갯수는 4 이다.
LEN( ) 함수와 공백문자
문1) '123' 문자와 공백문자 4개 그리고 '4'문자를 합친 문자의 길이는 어떻게 될까?
SELECT LEN ('123'+' '+'4')
정답은 아시다시피 8 이다.
문2) 그럼 '123' 문자와 공백문자 5개를 합친 문자의 길이는 어떻게 될까?
SELECT LEN ('123'+' ')
8일까? 아님 3일까?
정답은 3 이다.
Books Online (BOL)을 찾아보면 LEN() 함수는 "주어진 문자열 식의 바이트 수 대신 후행 공백을 제외한 문자 수를 반환합니다" 로 정의 되어 있는걸 알수 있다. 그런데 후행의 공백문자까지 길이를 알고 싶다면 어떻게 해야 할까? 그렇다면 식을 표시하는 모든 바이트 수를 나타내는 DATALENGTH( ) 함수를 사용하면 된다.
SELECT DATALENGTH ('123'+' ')
공백문자의 갯수를 합친 8이 결과 값으로 나온다. 앞으로 사용자가 문자의 길이 함수 사용시 후행 공백문자의 사용 유무에 따라 LEN(), DATALENGTH() 함수를 적절히 사용하자.
DECLARE @컬럼 VARCHAR(100)
SET @컬럼 = 'aaabbbb@aaaaaaa@aabbbb@addddd'
SELECT LEN(@컬럼) - LEN(replace(@컬럼,'@',''))
@문자의 갯수는 3이다.
LEN 함수는 주어진 문자열 식의 바이트 수 대신 후행 공백을 제외한 문자 수를 반환합니다.
이럴 경우는 드믈겠지만 만약에 문자열 뒷쪽에 공백문자가 있을때 공백문자의 갯수를 구하고 싶을경우에는 LEN함수를 사용할 수 없습니다. 그럴때는 식을 표시하는 데 사용된 바이트 수를 반환하는 DATALENGTH 함수를 사용합니다.
DECLARE @컬럼2 VARCHAR(100)
SET @컬럼2 = 'aaabbbb@aaaaaaa@aabbbb@addddd '
SELECT DATALENGTH(@컬럼2) - DATALENGTH(replace(@컬럼2,' ',''))
공백문자 (' ') 의 갯수는 4 이다.
LEN( ) 함수와 공백문자
문1) '123' 문자와 공백문자 4개 그리고 '4'문자를 합친 문자의 길이는 어떻게 될까?
SELECT LEN ('123'+' '+'4')
정답은 아시다시피 8 이다.
문2) 그럼 '123' 문자와 공백문자 5개를 합친 문자의 길이는 어떻게 될까?
SELECT LEN ('123'+' ')
8일까? 아님 3일까?
정답은 3 이다.
Books Online (BOL)을 찾아보면 LEN() 함수는 "주어진 문자열 식의 바이트 수 대신 후행 공백을 제외한 문자 수를 반환합니다" 로 정의 되어 있는걸 알수 있다. 그런데 후행의 공백문자까지 길이를 알고 싶다면 어떻게 해야 할까? 그렇다면 식을 표시하는 모든 바이트 수를 나타내는 DATALENGTH( ) 함수를 사용하면 된다.
SELECT DATALENGTH ('123'+' ')
공백문자의 갯수를 합친 8이 결과 값으로 나온다. 앞으로 사용자가 문자의 길이 함수 사용시 후행 공백문자의 사용 유무에 따라 LEN(), DATALENGTH() 함수를 적절히 사용하자.
'-- MSSQL' 카테고리의 다른 글
동적쿼리에서 output parameter 사용 (0) | 2010.03.22 |
---|---|
랜덤하게 데이터 조회 NewID() (0) | 2010.03.22 |
시작프로시저 만들고 관리하기 (0) | 2010.03.19 |
MSDB 백업 및 복구 (0) | 2010.03.19 |
해킹에 이용될 수 있는 명령어 (MSSQL2005) (0) | 2010.03.19 |
RECENT COMMENT