为什么不能用getdate()?

cqlyzz 2004-01-21 02:55:52
存储过程定义为
CREATE PROCEDURE dt_insertzcsj
@cwlb char(16),@rq datetime
as

执行存储过程:
Execute dt_insertzcsj '@cwlb char(16)',GETDATE()
提示: ')' 附近有语法错误。
...全文
59 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhaoloudy 2004-01-21
  • 打赏
  • 举报
回复
楼主应该知道存储过程中的默认型的参数只能是常量,不能是表名,列名,或其他数据对象。
hglhyy 2004-01-21
  • 打赏
  • 举报
回复
select getdate()
zhaoloudy 2004-01-21
  • 打赏
  • 举报
回复
错了,应该是declare @dt datetime
azsoft 2004-01-21
  • 打赏
  • 举报
回复
可以把@rq datetime 改为@rq varchar(16)
Execute dt_insertzcsj '@cwlb char(16)',convert(varchar(10),GETDATE(),120)
--convert(varchar(10),GETDATE(),120)的格式为2004-01-21
--这样查不就可以了
zhaoloudy 2004-01-21
  • 打赏
  • 举报
回复
declare @dt datatime
set @dt=getdate()
Execute dt_insertzcsj '@cwlb char(16)',@dt

34,590

社区成员

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

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