我有一种情况需要返回日期。在这个功能中,我将提供月份编号,我需要返回“3/13/2012”之类的结果。
declare @date varchar(20)
select @date=datepart(month,getdate())+'/13/'+datepart(year,getdate())
return @date(@date)
答案 0 :(得分:1)
这应该为你做。
CREATE FUNCTION dbo.fnStaticDate(@month varchar(2))
RETURNS DATETIME
AS
BEGIN
DECLARE @year VARCHAR(4)
SET @year = DATEPART(year, GETDATE())
RETURN CONVERT(DATETIME, @year + '-' + @month + '-' + '13')
END
答案 1 :(得分:0)
这是我用于我的一个项目的工作解决方案。
使用输入参数月份
创建了一个存储过程declare @mon varchar(2)
set @mon = '3'
select CONVERT(varchar, @mon + '/13/' + convert(varchar, datepart(year, getdate())), 111 )
在SQL Server中执行上述行,您将获得结果。
通过更改set语句中的@mon
值进行测试。
希望它对你有所帮助。
答案 2 :(得分:0)
它给出的转换错误
declare @date varchar(20)
select @date=convert(varchar(2),datepart(month,getdate()))+'/13/'+convert(varchar(4),datepart(year,ge tdate()))
print (@date)