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的主要内容,如果未能解决你的问题,请参考以下文章

如何将JAVA DATE类型的日期 转换成指定格式类型的 (如:YYYY-MM-DD) 的 DATE类型数据?

如何使用 Big Query SQL Standard 将日期 YYYY-MM-DD 转换为字符串 YYYYMM?

如何在presto sql中将字符串'yyyy-mm-dd'转换为日期格式

SQL日期格式转换? [dd.mm.yy 到 YYYY-MM-DD]

sql日期格式转换

sql如何将字符串转为日期