0

有没有办法像这样格式化sql日期:

2009 年 3 月 11 日(相对于 2009 年 3 月 11 日)

20/7/2008(相对于 20/07/2008)

谢谢!

4

3 回答 3

2
SET DATEFORMAT mdy

请参阅设置日期格式文档:http ://technet.microsoft.com/en-us/library/ms189491.aspx

于 2009-11-12T21:29:32.670 回答
0

在 T-SQL 本身中,您可以在联机丛书中查找有关CONVERT关键字的信息。它显示了提供不同日期格式的代码列表。

于 2009-11-12T21:29:19.737 回答
0

试试这个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
于 2009-11-14T15:38:25.117 回答