请帮助我转换一列从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]
1条答案
按热度按时间hgqdbh6s1#
我想这是因为六月没有31天。提供给系统的输入不是有效的日期。
请查看您获得的NULL是否为有效日期。