欢迎来到.net学习网

欢迎联系站长一起更新本网站!QQ:879621940

您当前所在位置:首页 » Sql随手笔记 » 正文

热门阅读

从字符串向 datetime 转换时失败的解决方案

创建时间:2011年08月06日 17:17  阅读次数:(13067)
分享到:
今天在执行以下sql时提示了从字符串向 datetime 转换时失败的错误
declare @datetime datetime
set @datetime='2011-8-6'

select 'select * from table1 where createdate >'''+@datetime+''''


仔细检查后发现是因为未将@datetime转化为varchar所至,在默认情况下,datetime的优先级大于varchar,在未指定转换类型的情况下,系统会尝试将'select * from table1 where createdate >'转换为datetime,所以引发了上面的错误。

正确写法如下:
declare @datetime datetime
set @datetime='2011-8-6'

select 'select * from table1 where createdate >'''+convert(varchar(100),@datetime,23)+''''


日期转化格式请参见本站:CONVERT转化函数的用法ble Sale_OrderList drop constraint IX_Sale_BOM_GMIDandDate
来源:.net学习网
说明:所有来源为 .net学习网的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!
【编辑:Wyf

打赏

取消

感谢您的支持,我会做的更好!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

最新评论

共有评论0条
  • 暂无任何评论,请留下您对本文章的看法,共同参入讨论!
发表评论:
留言人:
内  容:
请输入问题 66+70=? 的结果(结果是:136)
结  果: