Mud*_*san 1 sql t-sql sql-server
如何转换19 Dec 2012为getdate()返回的日期格式2012-12-22.我因为如果我比较需要这个日期比较2012年12月19日与2012年11月19,2012年11月19会变成更大的日期,由于按字母顺序排列的比较.
编辑
我不是这个表的数据库设计者,因为它是工作的给定表.否则将不会使用varchar存储日期
尝试,但这会返回一个字符串而不是日期
SELECT convert(varchar, getdate(), 106)
Run Code Online (Sandbox Code Playgroud)
在比较之前,你需要先将它转换为日期GETDATE.
SELECT convert(date, '19 Dec 2012', 106)
Run Code Online (Sandbox Code Playgroud)
你是那个设计数据库的人吗?如果是,则下次设计时(或者如果有时间更改)使用适当的数据类型.
将两者都转换为日期.不要使用字符串来存储日期值!更好的是,更改数据库架构并完全消除字符串不匹配问题.
另请注意,Getdate()不返回字符串.它返回datetime数据类型中的日期.该客户端转换,为字符串表示.
有关更多信息,请阅读SQL Server联机丛书中的"强制转换".
Convert (datetime, stringdate1)
Run Code Online (Sandbox Code Playgroud)
要修复损坏的数据库列,请执行以下操作
ALTER TABLE YourTable ALTER COLUMN BadStringDate datetime;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2489 次 |
| 最近记录: |