我有以下值来自一个平面文件,其中可能包含一位数的月份和日期字段:
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 助手版本 16。
我有以下值来自一个平面文件,其中可能包含一位数的月份和日期字段:
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 助手版本 16。
SQL 助手不是一个加载工具,例如 TPT 完全支持像这样处理输入。
您的另一篇文章显示您已经使用正则表达式添加缺少的零,并且您应用了正确的格式。这表明您的输入中有错误的数据。您可能会尝试在输入文件中发现错误(检查已加载的行数并检查以下行)。
或者您应用不会失败的 TRYCAST,但会为错误的日期返回 NULL。但是哎呀,它不支持 FORMAT,因此您必须先将 MDY 重新排列为 YMD:
trycast(RegExp_Replace(RegExp_Replace(x,'\b([0-9])\b', '0\1'), '(..).(..).(....)(.*)','\3-\1-\2\4') as timestamp(6))