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

sql字符串转换日期

将日期转换为 SQL 日期时间

sql怎么把字符串转换为日期格式

sql如何将字符串转为日期

PLSQL中SQL语句怎样转换日期型函数为字符型?

Presto SQL - 将日期字符串转换为日期格式