-- 문자열관련함수

Declare @s VarChar(20)

Set @s = ' Abc Def Fed Cba '

 

-- 전체출력

Select @s

 

-- 문자열의길이

Select Len(@s) -- 뒤에오는공백제외

 

-- 공백제거

Select LTrim(@s) -- 선행공백제거

Select RTrim(@s) -- 후행(오른쪽) 공백제거

Select Upper(@s) -- 모두대문자로표시

Select Lower(@s) -- 모두소문자로표시

Select Left(@s, 6) -- 왼쪽에서6자출력: Abc D

Select Right(@s, 6) -- 오른쪽에서6자출력: d Cba

 

-- 거꾸로출력

Select Reverse(@s)

 

-- 특정문자열을찾아서있으면변환(치환)

Select Replace(@s, 'Abc', '초콜릿')

 

-- 특정문자열반복

Select Replicate('안녕', 10)

 

-- 공백(Space)을여러개출력

Select '[' + Space(10) + ']'

 

-- 정수형을문자열로변환

Select Str(12345) + '6789'

 

-- 문자열검색: 어디부터몇자검색

Select SubString(@s, 6, 3)

 

-- 특정문자열의위치값검색

Select CharIndex('Def', @s) -- 6번째위치에존재한다.

 

 

 

-- 퀴즈) 아래와 같이 출력되도록 하려면???

-- 파일명: test

-- 확장자: gif

 

Declare @dir VarChar(255)

Set @dir = 'C:\Home\test.gif'

Select '[1 ]' + @dir  -- 전체출력

 

Declare @fullname VarChar(255)

Set @fullname = @dir

Set @fullname = Reverse(@dir)

Select '[2 ]' + @fullname  -- 거꾸로출력: fig.tset\emoH\:C

 

Set @fullname = Left(@fullname, CharIndex('\', @fullname) - 1)

Select '[3 ]' + @fullname

Set @fullname = Reverse(@fullname) -- 전체파일명

 

Declare @name VarChar(255)

Declare @ext VarChar(255)

 

Set @name = Left(@fullname, CharIndex('.', @fullname) - 1)  -- .() 앞에까지Left

Select '[4] ' + @name

 

Set @ext = Right(@fullname, Len(@fullname) - CharIndex('.', @fullname))  -- 전체길이.까지길이

Select '[5] ' + @ext

 

 

 

 

 

Posted by holland14
: