這篇論壇文章(賽迪網技術社區)介紹了SQL Server利用格式字符串定制日期轉換為字符串的具體方法,更多內容請參考下文:
在C#中用慣了DateTime.ToString("yyyy-MM-dd"),DateTime.ToString("MM/dd/yyyy")這種日期與字符串的轉換方式,在SQL server中沒得用,於是乎寫了個FUNCTION,功能跟.net 中的DateTime.ToString("formatprovide")方法差不多,不過只實現了日期部分,有興趣的朋友可以把時間部分補充出來。
create function fn_DateToString(@date datetime, @format varchar(20))
returns varchar(20)
as
begin
declare @result varchar(20)
select @result = (replace(replace(replace(@format,'yyyy','20'+substring(convert(char(8),@date,3),7,2)),'MM',substring(convert(char(8),@date,3),4,2)),'dd',substring(convert(char(8),@date,3),1,2)))
return @result
end
使用:
select dbo.fn_datetostring(getdate(),'yyyy-MM-dd')
得到結果:2005-07-12