使用SQL函数返回静态日期

时间:2012-03-17 04:31:45

标签: sql sql-server sql-server-2005

我有一种情况需要返回日期。在这个功能中,我将提供月份编号,我需要返回“3/13/2012”之类的结果。

declare @date varchar(20)
select @date=datepart(month,getdate())+'/13/'+datepart(year,getdate())
return @date(@date)

3 个答案:

答案 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)