首页 > 解决方案 > SQL Server 2017 将 Varchar 转换为日期

问题描述

我有一个存储的日期nvarchar,我似乎无法转换为日期。

我尝试了以下但收到错误消息

从字符串转换日期和/或时间时转换失败

select cast([month-year] as date) from [Reporting].[AIM].[Hires_PBI]

select convert(date, [month-year], 103)from [Reporting].[AIM].[Hires_PBI]

这里有什么想法吗?

标签: sqlsql-servertsql

解决方案


使用以下方法查找导致问题的值try_convert()

select [month-year] 
from [Reporting].[AIM].[Hires_PBI]
where try_convert(date, [month-year], 103) is null and
      [month-year] is not null;

一旦您看到导致问题的值,您就可以调整转换逻辑以转换所有值。或者只是用于try_convert()获取NULL不可转换的值。


推荐阅读