WorkaHolic/MSSQL

MSSQL 날짜를 특정 형식으로 변경해 주는 SQL 스크립트

2010. 4. 8. 22:31
반응형

Datetime형 자료를 변경해 주는 일은 SQL 전문가들에게도 상당히 머리 아픈 일이다. 이 스크립트는 날짜를 영문 형태로 변경해 주는 스크립트이다. 이 SQL 스크립트는 SQL 서버 2000에서 작동한다.

다음은 함수로 만든 SQL 스크립트이다.

create function dbo.date(@date datetime)
returns varchar(20)
As
 
begin
declare @string varchar(20)
set @string =
(select left(datename(month,@date),3)+"
     "+convert(varchar(2),day(@date))+(case
when right(day(@date),1)=1 and day(@date)<>11 then 'st'
when right(day(@date),1)=2 and day(@date)<>12 then 'nd'
when right(day(@date),1)=3 and day(@date)<>13 then 'rd'
else 'th' end)+"'"+datename(year,@date))
 
return (@string)
end

위 함수 사용 예제는 다음과 같다.

-- select dbo.date(DOB) from customers
-- select dbo.date(datetime_filed_column) from table_name
-- select dbo.date('2/24/2001') as DATE

위 함수를 이용했을 때의 결과 형태는 다음과 같다.

Jan 1st'2001
 
Mar 3rd'2003
 
Mar 15th'2002


반응형