Dom*_*let 4 t-sql sql-server-2008
我想将日期时间字段转换为YYYYMMDD形式的数字表示.所以,我的逻辑是(从2011-01-01 12:00:00.000到20110101):
convert(int, replace(cast(getdate() as date), '-', ''))
Run Code Online (Sandbox Code Playgroud)
根据MSDN(http://msdn.microsoft.com/en-us/library/bb630352.aspx),字符串表示是[always?]"YYYY-MM-DD",所以我只是将该字符串转换为INT从字符串中删除破折号后.
这会一直有效吗?我会遇到一些问题吗?有没有更好的方法来实现这一目标?
谢谢
这种方法可行,不确定本地化设置会发生什么.如果使用内置日期时间转换功能选项(http://msdn.microsoft.com/en-us/library/ms187928.aspx),则可以避免使用替换而不用担心语言环境.
例:
select CAST(convert(varchar,getdate(),112) as int)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
11445 次 |
| 最近记录: |