MDYY SQL Format - PullRequest
       12

MDYY SQL Format

0 голосов
/ 13 ноября 2009

Есть ли способ отформатировать дату sql следующим образом:

3/11 / 2009 (в отличие от 03/11 / 2009)

20/7/2008 (в отличие от 20/07/2008)

Спасибо!

Ответы [ 3 ]

2 голосов
/ 13 ноября 2009
SET DATEFORMAT mdy

См. Установленную документацию формата даты: http://technet.microsoft.com/en-us/library/ms189491.aspx

0 голосов
/ 14 ноября 2009

Попробуйте это UDF ..

create function dbo.mdyDate(@theDate DATETIME,@fmt INT) 
returns VARCHAR(10) 
as 
BEGIN
    declare   @ans   VARCHAR(10)
    set @ans = replace(convert(varchar(10),@theDate,@OptFmt),'/0','/') 
    if left(@ans,1)='0' set @ans=substring(@ans,2,9)
    return @ans
END

Примеры

select dbo.mdyDate( dateadd(d,-10,getDate()),103 )      --  Nov 4, 2009
select dbo.mdyDate( dateadd(m,-5,getDate()),103 )       --  June 14, 2009
select dbo.mdyDate( dateadd(d,-10,getDate()),101 )      --  Nov 4, 2009
select dbo.mdyDate( dateadd(m,-5,getDate()),101 )       --  June 14, 2009
0 голосов
/ 13 ноября 2009

В самом T-SQL вы можете посмотреть в Books Online о ключевом слове CONVERT. Он показывает список кодов, которые дают разные форматы даты.

...