如何在SSIS中的条件拆分中使用类似条件



我使用条件拆分从表中筛选出数据。我有几个条件需要检查。例如,在电子邮件列中,值不应包含~字符和@符号。出生日期列,年份不应大于当前年份,月份不应大于12,日期不应大于31。

SELECT *
FROM [table]
WHERE Email LIKE '%~%'
OR NOT (Email LIKE "%@%")
OR SUBSTRING(CONVERT(varchar, DOb, 23), 1, 2) <= 12
OR SUBSTRING(CONVERT(varchar, DOb, 23), 4, 2) <= 31
OR SUBSTRING(CONVERT(varchar, DOb, 23), 7, 4) <= YEAR(GETDATE());

我有上面同样的sql查询。但不确定如何使用条件拆分在SSIS中实现它。

根据您的条件在源查询中添加其他列,然后在条件拆分中使用这些列。

SELECT CASE 
WHEN Email LIKE '%@%'
OR Email LIKE '%~%'
THEN 'bad data'
ELSE 'good data'
END AS emaildatatype
,*
FROM [table]
WHERE Email LIKE '%~%'
OR NOT (Email LIKE "%@%")
OR SUBSTRING(CONVERT(VARCHAR, DOb, 23), 1, 2) <= 12
OR SUBSTRING(CONVERT(VARCHAR, DOb, 23), 4, 2) <= 31
OR SUBSTRING(CONVERT(VARCHAR, DOb, 23), 7, 4) <= YEAR(GETDATE());

最新更新