【问题标题】:Convert nvarchar(255) to date SQL将 nvarchar(255) 转换为日期 SQL
【发布时间】:2020-10-05 03:30:47
【问题描述】:

我需要隐藏这个:

Jan 18 2019 12:00AM

到这里:

20190118

在 SQL 中

【问题讨论】:

标签: sql sql-server tsql date select


【解决方案1】:

您可以利用 SQL Server 的灵活性来识别各种日期格式。

如果您有正确的区域设置,这应该可以工作:

cast(mycol as date)

这会返回与输入字符串对应的date datetype 值;

Demo on DB Fiddle

select cast('Jan 18 2019 12:00AM' as date)
| (无列名) | | :--------------- | | 2019-01-18 |

【讨论】:

    【解决方案2】:

    你可以试试这个:

    SELECT Format(Cast('Jan 18 2019 12AM' as date),'yyyyMMdd')
    

    详细了解 TSQL 中的 CastFormat 函数。

    【讨论】:

    • 格式很慢,因为它使用 dot.net 框架。改用转换
    【解决方案3】:

    使用转换 (https://www.w3schools.com/sql/func_sqlserver_convert.asp)

    SELECT Convert(varchar(30),Cast('Jan 18 2019 12AM' as date),101)
    

    输出:

    01/18/2019
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-18
      • 2013-11-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多