Fir*_*and 3 sql t-sql sql-server sql-server-2005 date-formatting
我如何转换下面的日期时间格式
2010-10-25 11:13:36.700
成
2010年10月25日或2010-10-25 00:00:00.000
假设该值以字符串形式提供,而不是DATETIME数据类型:
SELECT REPLACE(CONVERT(VARCHAR, CAST('2010-10-25 11:13:36.700' AS DATETIME), 106), ' ', '-')
Run Code Online (Sandbox Code Playgroud)
有关其他格式的信息,请参阅CAST/CONVERT文档,但您请求的格式需要进行后处理.
性能最佳的方法是使用DATEADD和DATEDIFF:
SELECT DATEADD(d, DATEDIFF(dd, 0, '2010-10-25 11:13:36.700'), 0)
Run Code Online (Sandbox Code Playgroud)
参考文献:
WITH sample AS (
SELECT CAST('2010-10-25 11:13:36.700' AS DATETIME) dt)
SELECT REPLACE(CONVERT(VARCHAR, s.dt, 106), ' ', '-') AS col1,
DATEADD(d, DATEDIFF(dd, 0, s.dt), 0) AS col2
FROM sample s
Run Code Online (Sandbox Code Playgroud)
返回:
col1 col2
-------------------------------------
25-Oct-2010 2010-10-25 00:00:00.000
Run Code Online (Sandbox Code Playgroud)
由于您使用的是SQL Server 2005,因此可以通过创建允许您使用.NET日期格式的SQLCLR函数来更轻松地为自己设置日期格式.
| 归档时间: |
|
| 查看次数: |
6211 次 |
| 最近记录: |