Azure Synapses,CSV,将VARCHAR转换为DATE,少数行工作,其他行失败

h9vpoimq  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(64)

请帮助我转换一列从VARCHAR到日期的csv文件。我对一些行失败的结果感到困惑,而在VARCHAR形式中选择它们时,它们看起来很正常。
我认为这可能是由于源CSV文件包含隐藏字符,但我用VSCode和记事本打开它,但没有发现任何。请帮助转换此列。我也尝试将[CarryOverDate]列作为日期摄取,但由于转换错误而失败。
先谢谢你了。
编辑摘要:编辑语法和措辞。

SELECT
[main].[CarryOverDate] AS DateinText,
TRY_CONVERT(DATETIME2, LTRIM(RTRIM([main].[CarryOverDate])), 21) AS DateinDate
FROM
OPENROWSET(
    BULK (
        'test/test123.csv'
    ),
    DATA_SOURCE = 'ds_test',
    FORMAT = 'CSV',
    PARSER_VERSION = '2.0',
    HEADER_ROW = TRUE
) WITH (
    [CarryOverDate] VARCHAR (20)
) AS [main]

hgqdbh6s

hgqdbh6s1#

我想这是因为六月没有31天。提供给系统的输入不是有效的日期。
请查看您获得的NULL是否为有效日期。

相关问题