我正在尝试使用在本地时区中的日期列和当前日期之间进行连接
SELECT a.* FROM
a
join b on (a.country_id = b.country_id)
and date_column = (Current_date at b.capital_timezone)
b.capital_timezone的值如欧洲中部、欧洲东部、GMT+4、GMT+5:30等,
我收到一个错误,上面写着-"指定的时区无效"
使用以下语法。还要避免时区列中的空值。
Current_date at TIME ZONE coalesce(b.CAPITAL_TIMEZONE,'GMT')
根据Teradata的文档,GMT+5:30似乎是一个无效的时区值。将其转换为有效值。
来自文档:
不遵循单独DST和标准时区位移的字符串
- 'GMT'
- 'GMT+1'
- 'GMT+10'
- 'GMT+11'
- 'GMT+1:30'
- 'GMT+12'
- 'GMT+13'
- 'GMT+14'
- 'GMT+2'
- 'GMT+3'
- 'GMT+3:30'
- 'GMT+4'
- 'GMT+4:30'
- 'GMT+5'
- 'GMT+5:30'
- 'GMT+5:45'
- 'GMT+6'
- 'GMT+6:30'
- 'GMT+7'
- 'GMT+8'
- 'GMT+8:45'
- 'GMT+9'
- 'GMT+9:30'
- 'GMT-1'
- 'GMT-10'
- 'GMT-11'
- 'GMT-2'
- 'GMT-3'
- 'GMT-4'
- 'GMT-5'
- 'GMT-6'
- 'GMT-6:30'
- 'GMT-7'
- 'GMT-8'
跟随不同DST和标准时区位移的字符串
- "非洲埃及"
- "非洲-摩洛哥"
- "非洲-纳米比亚"
- "美国阿拉斯加"
- "美国阿留申"
- "美国-阿根廷"
- "美国大西洋"
- "美国-巴西"
- "美国中部"
- "美国-智利"
- "美国-古巴"
- "美国东部"
- "美洲山"
- "美国纽芬兰"
- "美国太平洋"
- "美洲-巴拉圭"
- "美国-乌拉圭"
- "亚洲加沙"
- "亚洲-伊朗"
- "亚洲-伊拉克"
- "亚洲伊尔库茨克"
- "亚洲-以色列"
- "亚洲约旦"
- "亚洲堪察加半岛"
- "亚洲克拉斯诺亚尔斯克"
- "亚洲黎巴嫩"
- "亚洲马加丹"
- "亚洲鄂木斯克"
- "亚洲-叙利亚"
- "亚洲符拉迪沃斯托克"
- "亚洲西岸"
- "亚洲雅库茨克"
- "亚洲叶卡捷琳堡"
- "澳大利亚中部"
- "澳大利亚东部"
- "澳大利亚西部"
- "欧洲中部"
- "欧洲-东方"
- "欧洲加里宁格勒"
- "欧洲-莫斯科"
- "欧洲萨马拉"
- "欧洲-西方"
- "印度毛里求斯"
- "墨西哥中部"
- "墨西哥西北部"
- "墨西哥太平洋"
- "太平洋新西兰"
- "太平洋萨摩亚"