SQL 将日期转换为 yyyy-mm-dd
Posted
技术标签:
【中文标题】SQL 将日期转换为 yyyy-mm-dd【英文标题】:SQL convert date to yyyy-mm-dd 【发布时间】:2012-11-28 09:42:14 【问题描述】:您如何将日期转换为以下格式:
2012-10-16 07:44:22.000
转成这种格式:
2012-10-16
不只是让 varchar(10) 不会像this question 建议的那样工作,因为我必须比较它们,而我不能用那种方法来做。还有nowhere does it give me the 值来进行这种类型的转换。
这和我来的时候一样接近:
declare @DATE DATETIME = '2012-10-16 00:00:000'
SELECT Convert(varchar(20), @DATE,105)
结果 = 2012 年 16 月 10 日
【问题讨论】:
什么意思是哪个SQL?真的吗? -1?真的吗?我做错了什么? 你拼写“真的”错了。 ;) 仅供参考:SQL 是一种语言。许多产品都使用它。而@wallyk 的意思是询问你正在使用的具体产品,原来是 SQL Server。 谢谢。不知道 SQL 语言之间有那么大的差异(语法方面) 是的,很多事情都是特定于供应商的。因此,始终在标签中包含您的数据库类型和版本,将产生更快更准确的答案:) 【参考方案1】:declare @DATE DATETIME = '2012-10-16 00:00:000'
SELECT REPLACE(Convert(varchar(20), @DATE,102), '.', '-')
SQLFiddle Demo
Here的 SQL Server 中日期格式的概述。
【讨论】:
【参考方案2】:SELECT CONVERT(VARCHAR(10),@date, 120)
--Gives: yyyy-mm-dd
【讨论】:
不,实际上这对我没有帮助.. Varchar(10) 对我不起作用。 (见问题) 看看这个SQL Fiddle。这适用于sql server。不知道你为什么说它不是 嗯,你是对的,它确实有效,我的比较刚刚结束。谢谢以上是关于SQL 将日期转换为 yyyy-mm-dd的主要内容,如果未能解决你的问题,请参考以下文章