当我将类型更改为字符串时,我很好。但是,当我使用int ?, datetime?等等,有时它会接受NULL,有时它会因错误而失败。
"转换输入字符串时出现问题'" NULL"'正确的类型。"
答案 0 :(得分:2)
如果您传递以下文件内容:
31|NULL|1
到以下EXTRACT
表达式:
@data =
EXTRACT a int?, b int?, c int?
FROM @file
USING Extractors.Text(delimiter:'|');
您将收到您观察到的错误消息,因为NULL被视为字符串。使用内置Extractors / outputters序列化和解析空值的默认方式是没有值,例如31||1
。虽然内置提取器为您提供了nullEscape
参数。所以试试:
… USING Extractors.Text(delimiter:'|', nullEscape:"NULL");