我在 64 位版本的 Windows Server 2008 R2 标准 (sp1) 上运行 SQL Server Standard 2008 R2
我已将日志文件作为平面文件源导入。col2
表中调用的导入中的一列big
保存如下值:16/Mar/2007:11:30:17
as varchar(50)
。
我想将该列 ( col2
) 转换为datetime
数据类型。
我尝试的一种方法是提取日期字符串的每个部分,然后重新组合并转换它们。
我遇到的问题是每一列都有不同的宽度,因为日志文件不能被整齐地分隔,使得使用CHARINDEX
返回一个数字或有时为 NULL 之类的东西。
我一直在尝试使用 CLR 集成使用正则表达式进行设置,但无法使其工作(我无法在 Visual Studio 中创建 C# 项目,没有选项)并且无法安装 Master Data Services,因为 SQL Server 2008 R2 Standard 不支持它。
我最好的方法是什么?使用CASE
,SUBSTRING
和CHARINDEX
?