【问题标题】:SQL convert date to yyyy-mm-ddSQL 将日期转换为 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 语言之间有那么大的差异(语法方面)
  • 是的,很多事情都是特定于供应商的。因此,始终在标签中包含您的数据库类型和版本,将产生更快更准确的答案:)

标签: sql-server date


【解决方案1】:
declare @DATE DATETIME = '2012-10-16 00:00:000'
SELECT  REPLACE(Convert(varchar(20), @DATE,102), '.', '-')

Here SQL Server 中日期格式的概述。

【讨论】:

    【解决方案2】:
    SELECT CONVERT(VARCHAR(10),@date, 120)
    --Gives: yyyy-mm-dd
    

    【讨论】:

    • 不,实际上这对我没有帮助.. Varchar(10) 对我不起作用。 (见问题)
    • 看看这个SQL Fiddle。这适用于sql server。不知道你为什么说它不是
    • 嗯,你是对的,它确实有效,我的比较刚刚结束。谢谢
    猜你喜欢
    • 2020-06-22
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 2023-03-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多