【发布时间】:2018-04-16 14:08:20
【问题描述】:
我的日期类型列的数据如下所示:
2011-07-01 00:00:00.000
我想从中得到类似的东西
2011-7-1
有我的方法,但可能会做得更好
SELECT CAST(YEAR(ModifiedDate) AS varchar(15)) + '-' + CAST(MONTH(ModifiedDate) AS varchar(15)) + '-' + CAST(DAY(ModifiedDate) AS varchar(15))
FROM Sales.SalesOrderDetail
【问题讨论】:
-
什么版本的 SQL Server?从 2012 年开始,
FORMAT可用,这使得这(几乎)变得微不足道。 -
你必须要有连字符吗?这将是斜杠 SELECT CONVERT(char(10), GetDate(),126)
-
我在 2014 年工作,感谢您指出这一点。
-
转换为
date,而不是尝试操作本地化字符串。为什么要在需要 date 时创建字符串? -
为什么不让客户以它认为合适的方式进行格式化?直接返回日期类型即可。
标签: sql-server tsql date datetime