使用模式变化从SQL中的字符串解析日期

时间:2019-02-06 14:10:43

标签: sql

我需要能够从SQL中的字符串中提取日期。我有一个可以使用特定格式的解决方案,但是格式可能会略有不同,因此我需要调整模式以支持各种格式。

这是我目前拥有的:

DECLARE @Subject NVARCHAR(MAX) = 'Some example text- 09/30/18 and more text         1622'

SELECT
    ISNULL(
        TRY_CAST(SUBSTRING(@Subject, PATINDEX('%[0-9][0-9]/[0-9][0-9]/[0-9][0-9]%', @Subject), 8) AS DATETIME),
            DATEADD(dd, -1, DATEADD(qq, DATEDIFF(qq, 0, GETDATE()), 0))) AS SomeDate

当日期为09/30/18时此方法有效,但当日期为9/30 / 18、09 / 2/18和09/30/2018时无效。

是否存在能够支持这些变化的已知模式?

0 个答案:

没有答案