【问题标题】:Convert date from dd-mm-yyyy to yyyy-mm-dd in SQL Server在 SQL Server 中将日期从 dd-mm-yyyy 转换为 yyyy-mm-dd
【发布时间】:2015-10-28 07:11:54
【问题描述】:

我想把给定的日期转换成YYYY-MM-DD的格式。

给定日期:

DECLARE @Date1 VARCHAR(50) = '30-01-2015'

现在我想把它转换成2015-01-30

我的尝试:

尝试1:

SELECT CONVERT(VARCHAR(50),'30-01-2015',126)

尝试2:

SELECT CONVERT(VARCHAR(50),'30-01-2015',120)

两者都尝试,结果保持不变,即30-01-2015

【问题讨论】:

  • 因为这是字符串而不是date
  • @Igor,哦!知道了。非常感谢。

标签: sql-server date datetime sql-server-2008-r2


【解决方案1】:

试试这个:

DECLARE @Date1 VARCHAR(50) = '30-01-2015'

SELECT CONVERT(VARCHAR(10), CONVERT(date, @Date1, 105), 23) 

【讨论】:

  • 如何在 SQL server 中将 '31-12-99' 转换为 '9999-12-31' 即 YYYY-MM-DD
  • SELECT CONVERT(VARCHAR(10), CONVERT(date, @Date1, 5), 23)
  • @Giorgi-Nakeuri 我们在 MySql 中是否有等效的功能?
【解决方案2】:

试试这个方法

SELECT CONVERT(date,'30-01-2015',103)

【讨论】:

  • 对此有一点说明。这不是格式化。它只是转换为日期类型。
  • @GiorgiNakeuri,没错!正因为如此,我会接受你的回答。
  • 如何在 SQL server 中将 '31-12-99' 转换为 '9999-12-31' 即 YYYY-MM-DD
【解决方案3】:

在 SQL Server 中将日期从 dd-mm-yyyy hh:mm:ss 转换为 yyyy-mm-dd hh:mm:ss

convert(datetime,'18-11-2019 00:00:00',105)   // will return 2019-11-18 00:00:00.000

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多