dateadd 函数参数问题

zhangjiang264 2009-07-21 01:29:18
declare @d varchar(10)
set @d='d'
select DATEADD(@d,1,GETDATE()) 这个有什么问题?
因为我要传递参数,不能直接用
select DATEADD(d,1,GETDATE())
各位大侠帮忙
...全文
170 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
JonasFeng 2009-07-21
  • 打赏
  • 举报
回复
楼上的已经很详细了。
震区 2009-07-21
  • 打赏
  • 举报
回复
另外 为什么
select DATEADD(h,1,GETDATE())
会出错,啊?

select DATEADD(hh,1,GETDATE())
中国风 2009-07-21
  • 打赏
  • 举报
回复
動態用法也可用
declare @d nvarchar(10),@Dt datetime,@sql nvarchar(4000)
set @d='d'
set @sql=N'select @Dt=DATEADD('+@d+',1,GETDATE())'
exec sp_executesql @sql,N'@Dt datetime output',@Dt output
select @Dt
feixianxxx 2009-07-21
  • 打赏
  • 举报
回复
第一个问题 用动态解决
第二个问题 h应该换成 hh 或者hour
chuifengde 2009-07-21
  • 打赏
  • 举报
回复
declare @d varchar(10) 
set @d='d'
exec('select DATEADD('+@d+',1,GETDATE())')
水族杰纶 2009-07-21
  • 打赏
  • 举报
回复
declare @d varchar(10) 
set @d='d'
DECLARE @S VARCHAR(100)
SET @S= 'SELECT DATEADD('+@d+',1,GETDATE())'
EXEC( @S)
中国风 2009-07-21
  • 打赏
  • 举报
回复
日期部份 縮寫

yy、yyyy


qq、q


mm、m

一年當中的第幾天
dy、y


dd、d


wk、ww


hh


mi、n


ss、s

毫秒
ms

中国风 2009-07-21
  • 打赏
  • 举报
回复
hh/hour--小時
feixianxxx 2009-07-21
  • 打赏
  • 举报
回复
declare @d varchar(10) ,@s nvarchar(4000)
set @d='d'
set @s=' select DATEADD('+@d+',1,GETDATE())'
exec(@s)

-----------------------
2009-07-22 13:31:39.890
zhangjiang264 2009-07-21
  • 打赏
  • 举报
回复
另外 为什么
select DATEADD(h,1,GETDATE())
会出错,啊?

34,593

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧