在C#中用惯了DateTime.ToString("yyyy-MM-dd"),DateTime.ToString("MM/dd/yyyy")这种日期与字符串的转换方式,在SQL server中没得用,于是乎写了个FUNCTION,功能跟.net 中的DateTime.ToString("formatprovide")方法差不多,不过只实现了日期部分,有兴趣的朋友可以把时间部分补充出来。

 

SQL Server中也用格式字符串定制日期转换为字符串create function fn_DateToString(@date datetime@format varchar(20))
SQL Server中也用格式字符串定制日期转换为字符串
returns varchar(20)
SQL Server中也用格式字符串定制日期转换为字符串
as
SQL Server中也用格式字符串定制日期转换为字符串
begin
SQL Server中也用格式字符串定制日期转换为字符串    
declare @result varchar(20)
SQL Server中也用格式字符串定制日期转换为字符串    
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)))
SQL Server中也用格式字符串定制日期转换为字符串    
return @result
SQL Server中也用格式字符串定制日期转换为字符串
end


 

使用:

SQL Server中也用格式字符串定制日期转换为字符串
SQL Server中也用格式字符串定制日期转换为字符串
select dbo.fn_datetostring(getdate(),'yyyy-MM-dd')


得到结果:2005-07-12

相关文章: