问题描述
我有一个来自平面文件的以下值,该文件可能包含个位数的月和日字段:
9/14/2020 07:20:18.630000
7/7/2020 16:24:57.700000
10/24/2019 03:40:52.380000
11/9/2020 20:21:32.420000
现在,我需要将此加载到以TIMESTAMP(6)作为数据类型的列。 有人可以帮忙吗?我正在使用TD sql Assistant版本16。
解决方法
SQL Assistant不是加载实用程序,例如TPT完全支持处理此类输入。
您的其他文章显示您已经使用RegEx添加缺失的零,并且应用了正确的格式。这表明您输入的数据错误。您可能会尝试在输入文件中发现错误(检查已加载多少行并检查以下几行)。
或者您应用TRYCAST,它不会失败,但是对于错误的日期将返回NULL。但是,不支持FORMAT,因此您必须先将MDY重新排列为YMD:
trycast(RegExp_Replace(RegExp_Replace(x,'\b([0-9])\b','0\1'),'(..).(..).(....)(.*)','\3-\1-\2\4') as timestamp(6))