【问题标题】:Convert string to date in specific format将字符串转换为特定格式的日期
【发布时间】:2014-09-12 16:28:16
【问题描述】:

如何在 SQL Server 2008 R2 中将字符串转换为日期类型?

我的字符串格式为dd/mm/yyyy

我试过了

SELECT CAST('01/08/2014' AS DATE)

但这会以mm/dd/yyyy 格式进行转换。

【问题讨论】:

  • 查看convert() 的文档。

标签: sql sql-server tsql sql-server-2008-r2 date-parsing


【解决方案1】:

oracle中的TO_DATE函数用于将任意字符转换为日期格式。

例如:

SELECT to_date ('2019/03/01', 'yyyy/mm/dd')
FROM   dual;

SQL SERVER 中的CONVERT 函数用于将表达式从一种数据类型转换为另一种数据类型。

例如:

SELECT CONVERT(datetime, '01/08/2014', 103) date_convert;

希望对你有帮助。

【讨论】:

  • OP 是关于 SQL Server 的。指出该任务的 Oracle 函数并不能回答他们的问题
【解决方案2】:

您可以通过以下方式轻松地将字符串转换为日期 SELECT CAST(YourDate AS DATE)

【讨论】:

    【解决方案3】:

    日期格式。

    SET DATEFORMAT DMY ;
    SELECT cast('01/08/2014' as date) ;
    

    转换。

    SELECT convert(date, '01/08/2014', 103 ) ;
    

    为了完整起见,SQL Server 2012 及更高版本具有以下内容。

    SELECT parse('01/08/2014' as date using 'en-NZ' ) ;
    

    【讨论】:

    • 我刚刚意识到这个问题的提问者和回答者都是猕猴桃。卡牌!
    【解决方案4】:

    您需要convert 函数,您可以在其中指定格式代码:

    select convert(datetime, '01/08/2014', 103)
    

    103 表示 dd/mm/yyyy。请参阅docs

    【讨论】:

      猜你喜欢
      • 2018-08-30
      • 1970-01-01
      • 2020-08-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-20
      • 2021-06-10
      相关资源
      最近更新 更多