有没有办法像这样格式化sql日期:
2009 年 3 月 11 日(相对于 2009 年 3 月 11 日)
20/7/2008(相对于 20/07/2008)
谢谢!
有没有办法像这样格式化sql日期:
2009 年 3 月 11 日(相对于 2009 年 3 月 11 日)
20/7/2008(相对于 20/07/2008)
谢谢!
SET DATEFORMAT mdy
请参阅设置日期格式文档:http ://technet.microsoft.com/en-us/library/ms189491.aspx
在 T-SQL 本身中,您可以在联机丛书中查找有关CONVERT
关键字的信息。它显示了提供不同日期格式的代码列表。
试试这个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