일단모아/마구마구

[Mssql] 문자열 함수

반생자 2008. 2. 29. 09:47

※ 문자열 함수 정리

 

1)  Ascii() - 문자열의 제일 왼쪽 문자의 아스키 코드 값을 반환(Integer)

예) SELECT Ascii('abcd')

    >>  결과는 a의 아스키 코드값인 97 반환

 

2) Char() - 정수 아스키 코드를 문자로 반환(Char)

예) SELECT Char(97)

      >> 결과는 a 반환

 

3) Charindex() - 문자열에서 지정한 식의 위치를 반환

예)  SELECT Charindex('b','abcde')   >> 결과 : 2
      SELECT Charindex('b','abcde',2) >> 결과 : 2
      SELECT Charindex('b','abcde',3) >> 결과 : 0 

       -- 인수값이 3개일때 마지막은 abcde 에서의 문자열 검색 시작위치를 말하며

            2인경우는 bcde 라는 문자열에 대해서 검색

            3인 경우는 cde 라는 문자열에 대해서 검색 하게 된다.

 

4) Difference() - 두 문자식에 SUONDEX  값 간의 차이를 정수로 반환

예)  SELECT Difference('a','b')

 

5) Left() - 문자열에서 왼쪽에서부터 지정한 수만큼의 문자를 반환

예)  SELECT Left('abced',3)       결과 >> 3

 

6) Len() - 문자열의 길이 반환

예) SELECT Len('abced')         결과>>5

 

7) Lower() - 대문자를 소문자로 반환

예) SELECT Lower('ABCDE')    결과 >> abcde

 

8) Ltrim() - 문자열의 왼쪽 공백 제거

예)  SELECT Ltrim('   AB  CDE')    결과>> AB CDE

 

9)Nchar()  - 지정한 정수 코드의 유니코드 문자 반환

예)  SELECT Nchar(20)       결과  >>  

 

 

10) Replace -  문자열에서 바꾸고 싶은 문자 다른 문자로 변환

예) SELECT Replace('abcde','a','1')    결과>>1bcde

 

11) Replicate()  - 문자식을 지정한 횟수만큼 반복

예) SELECT Replicate('abc',3)              결과>> abcabcabc

12) Reverse() - 문자열을 역순으로 출력

예)   SELECT Reverse('abcde')             결과>> edcba

 

13) Right()  - 문자열의 오른쪽에서 부터 지정한 수 만큼 반환(Left() 와 비슷 )

예) SELECT Right('abcde',3)                 결과>> cde

 

14)Rtrim()  - 문자열의 오른쪽 공백 제거

예) SELECT Rtrim(' ab cde  ')               결과>>  ' ab cde'  <-- 공백구분을위해 ' 표시

 

15)  Space()  -  지정한 수만큼의 공백 문자 반환

예)  SELECT Space(10)                  결과 >>  '         '   -- 그냥 공백이 나옴

      확인을 위해서  SELECT 'S'+Space(10)+'E'   결과 >> S        E  

 

16) Substring()  -  문자,이진,텍스트 또는 이미지 식의 일부를 반환

예) SELECT Substring('abcde',2,3)      결과>>  bcd

 

17)Unicode() - 식에 있는 첫번째 문자의 유니코드 정수 값을 반환

예)SELECT Unicode('abcde')              결과 >> 97

 

18)Upper() - 소문자를 대문자로 반환

예) SELECT Upper('abcde')              결과>> ABCDE

 

※ 기타 함수 Tip

 

19) Isnumeric - 해당 문자열이 숫자형이면 1 아니면 0을 반환

>> 숫자 : 1  , 숫자X :0

예) SELECT Isnumeric('30')       결과 >> 1

     SELECT Isnumeric('3z')        결과 >> 0

 

20) Isdate()  - 해당 문자열이 Datetime이면 1 아니면 0
>> 날짜 : 1   , 날짜 X :0

예) SELECT Isdate('20071231')    결과 >> 1

     SELECT Isdate(getdate())      결과 >> 1
     SELECT Isdate('2007123')      결과 >> 0

     SELECT Isdate('aa')             결과 >> 0

 

[