如何将价值转换为具体日期?

时间:2011-03-21 10:32:16

标签: sql tsql

我需要一个可以将值转换为电流月份日期的sql脚本,例如,如果我通过26,那么它将显示03-26-2011或将26转换为当前月份和当前年份的系统日期,依此类推。

2 个答案:

答案 0 :(得分:1)

dateadd(month,datediff(month,0,getdate()),0)-1 + 26

最后的+26使其成为当月的第26位

作为一项功能

create function dbo.DateForDayOfCurrentMonth(@daynum int)
returns datetime
as
begin
return dateadd(month,datediff(month,0,getdate()),0)-1 + @daynum
end
GO

示例用法:

select dbo.DateForDayOfCurrentMonth(26);

select dbo.DateForDayOfCurrentMonth(numbercolumn), ...
from tbl

答案 1 :(得分:0)

declare @DayOfMonth int = 26
select dateadd(d, @DayOfMonth-1, dateadd(month, datediff(month, 0, getdate()), 0))