SQL数据验证-多个条件

时间:2019-02-05 10:58:20

标签: sql amazon-redshift

我目前正在处理一个项目,该项目需要基于sql查询创建一些PowerBi报告,因此我需要验证记录数据的数据类型。我知道应该是哪种数据类型,我只需要检查查询找到的结果是否与db数据类型匹配。

我有一个可以在多个条件下工作的查询,但是问题是,当它找到第一个可行类型时,它将停止检查条件。我需要查询以检查所有条件,然后选择适当的条件。

PS我正在使用Amazon Redshift

这是我的查询

select event_name,
json_extract_path_text(event_params, 'avg_lat') as avg_lat,
case when avg_lat ~ ('[0-9]') AND len(avg_lat) and <= 4 then 'Integer'
    when avg_lat ~ ('[0-9]')  AND len(avg_lat) between 5 and 17 then 'Number'
    when avg_lat ~ ('[0-9a-z]') or avg_lat ~ ('[0-9A-Z]') then 'String'
    when avg_lat ~ 'True' or avg_lat ~ 'False' then 'Boolean'
    when avg_lat ~ ('%.%') then 'Float' end as avg_lat_data_type
from xxxxx
where title_id in ('xxxxx', 'xxxxx')
and event_name= 'connection'
and dt= current_date -3

谢谢。 亚历克斯

0 个答案:

没有答案