对于我的查询,我必须从表中提取日期,但它们也包括时间。如何修剪以不包括时间?
CAST(m.START_DATE AS varchar(12)) AS StartDate
但是会发生什么,我的结果显示为“2013年6月12日”。如何更改它以显示为2013年6月12日?
答案 0 :(得分:3)
您可以使用cast-to-date函数去除时间部分:
SELECT CAST(m.START_DATE AS DATE)
您可能会发现阅读有关CONVERT
功能的信息非常有用:
例如:
SELECT CONVERT(varchar(10),m.START_DATE,102)
这有助于您以自己喜欢的方式格式化日期。
答案 1 :(得分:2)
您可以尝试DATE()功能 所以它会是
SELECT DATE(m.START_DATE)
这适用于MySQL
对于SQL Server,请尝试:
SELECT CONVERT(date, m.START_DATE)
答案 2 :(得分:1)
您可以使用SQL Server中的DATETIME
数据类型从DATE
字段中删除时间:
SELECT CAST(m.START_DATE AS DATE) AS StartDate
对于格式化,您可以使用CONVERT()
并找到适合您所使用的格式类型的代码,但如果您使用的是SQL Server 2012,则可以使用方便的FORMAT()
函数:< / p>
SELECT FORMAT(m.START_DATE,'MM/dd/yyyy')
值得注意的是FORMAT()
很慢,我不会将它用于格式化输出以外的任何内容,这在大多数情况下最好在SQL(表示层)之外完成。
答案 3 :(得分:0)
尝试如下..它会帮助你...
在SQL SERVER中 - &gt; SELECT CONVERT(varchar(10),datestring,101)
在MYSQL中 - &gt; SELECT STR_TO_DATE(datestring, '%M/%d/%Y')
在Oracle中 - &gt; SELECT to_char(datestring,'MM/DD/YYYY')