我尝试进行一些质量检查,以确保我已在MS SQL中正确导入数据
如何检查列只包含有效日期而不包含文本或数字?我如何检查列是否包含一定数量的字符?任何指导都将非常感谢。
答案 0 :(得分:2)
特定任务可以通过两种方式实现。
1)将列类型设置为' date'在插入数据之前键入。 (如果数据格式不正确,插入任务将抛出异常)
2)如果日期已经存储在以VARCHAR格式存储的表中,您可以使用查询列出不是正确日期格式的条目
SELECT Col_Name FROM Tbl_Name WHERE isDate(Col_Name)<>1
当列中的字符长度小于特定值时,以下查询将帮助您列出表中的所有行
SELECT * FROM Tbl_Name Where len(Col_name)<@MaxLength
答案 1 :(得分:1)
您需要为表格中的列选择正确的data types。所有数据验证必须是ETL的一部分:
典型的实际ETL循环包括以下执行步骤:
因此,所有数据验证和转换必须在验证和转换阶段以及加载数据之前完成。