S.B*_*ley 7 sql sql-server getdate
运行两个简单的select语句:
SELECT GETDATE()
SELECT LEFT(GETDATE(), 10)
Run Code Online (Sandbox Code Playgroud)
返回:
2015-10-30 14:19:56.697
Oct 30 201
Run Code Online (Sandbox Code Playgroud)
我本来期待LEFT()给我2015-10-30,但事实并非如此.
有谁知道为什么?是否与数据类型GETDATE返回的样式有关?
谢谢!
GETDATE()返回一个datetime值.当您这样做时SELECT GETDATE(),应用程序将获取日期时间值并确定如何显示它.您正在使用的应用程序明智地选择ISO标准格式.
当你这样做时LEFT(GETDATE(),数据库需要从datetime一些字符串值进行隐式转换.为此,它使用其国际化设置.您所看到的是基于这些设置.
故事的道德:避免隐含的转换.始终明确您正在做什么,特别是在具有相当差的诊断功能的SQL中.因此,请使用CONVERT()适当的格式来实现您的目标.
| 归档时间: |
|
| 查看次数: |
3214 次 |
| 最近记录: |