Ian*_*Ian 14 sql sql-server datetime
学习SQL Server有一些我不确定的事情:
datetime具有值的字段:
2012-02-26 09:34:00.000
如果我使用以下表格选择:
CAST(dob2 AS VARCHAR(12) ) AS d1
Run Code Online (Sandbox Code Playgroud)
它将其格式化为:
Feb 26 2012
我不确定他的SQL Server如何或为什么格式化DateTime.如果你使用datetime2它不 - 任何人都知道为什么?
小智 7
试试这个:
select convert(varchar, dob2, 101)
select convert(varchar, dob2, 102)
select convert(varchar, dob2, 103)
select convert(varchar, dob2, 104)
select convert(varchar, dob2, 105)
select convert(varchar, dob2, 106)
select convert(varchar, dob2, 107)
select convert(varchar, dob2, 108)
select convert(varchar, dob2, 109)
select convert(varchar, dob2, 110)
select convert(varchar, dob2, 111)
select convert(varchar, dob2, 112)
select convert(varchar, dob2, 113)
Run Code Online (Sandbox Code Playgroud)
参考:http://msdn.microsoft.com/en-us/library/ms187928.aspx
http://www.w3schools.com/sql/func_convert.asp
默认日期格式取决于数据库服务器的语言设置.您还可以在每个会话中更改它,例如:
set language french
select cast(getdate() as varchar(50))
-->
févr 8 2013 9:45AM
Run Code Online (Sandbox Code Playgroud)
兼容性支持说在兼容级别110下,CAST and CONVERT操作time和datetime2数据类型的默认样式始终为121.如果查询依赖于旧行为,请使用小于110的兼容级别,或在受影响的查询中显式指定0样式.
这意味着在默认情况下 datetime2 是 CAST as varchar 到 121 format.对于前 col1 和 col2格式(下面)是相同的(除了最后的0)
SELECT CONVERT(varchar, GETDATE(), 121) col1,
CAST(convert(datetime2,GETDATE()) as varchar) col2,
CAST(GETDATE() as varchar) col3
Run Code Online (Sandbox Code Playgroud)
--Results
COL1 | COL2 | COL3
2013-02-08 09:53:56.223 | 2013-02-08 09:53:56.2230000 | Feb 8 2013 9:53AM
Run Code Online (Sandbox Code Playgroud)
仅供参考,如果您使用CONVERT而不是CAST您可以使用第三个参数来指定MSDN上列出的某些格式
| 归档时间: |
|
| 查看次数: |
221314 次 |
| 最近记录: |