redshift数据库中的sql语法

–给search_path添加scheme

set search_path to '$user', 'public', 'mysql_us_portal';

–添加完schema:mysql_us_portal后,才能查到该shema下表ow_product的列信息

select * from pg_table_def where tablename = 'ow_product';

–仅展示表中的所有列

SELECT column_name FROM information_schema.columns WHERE table_name = 'ow_product';

–查询schema:mysql_tp_data下所有的表

select * from pg_table_def where schemaname = 'mysql_tp_data';

–删除具体某一行

delete from dev.dim.currency_rate_df where sdt='2022-09-29'

–清空表

truncate dev.dim.currency_rate_df

–删除表

drop table dev.dim.currency_rate_df;

–插入数据

insert into dev.dim.currency_rate_df
select * from mysql_tp.currency_rate 

一些函数用法(待后续更新)

-- sysdate获取当前的utc时间,convert_timezone把utc时间转换成减8小时时区的时间,trunc截取日期部分到天
select trunc(convert_timezone('UTC','UTC-8', sysdate))
--获取当天日期,到天
select CURRENT_DATE
--日期拼接:2022-09-23 00:00:00
select date '2022-09-23' + time '00:00:00'
--本来想用上面日期拼接的方法在当前日期后面添加时分秒00:00:00,但不适用,就用下面的函数,实际在where条件值=2022-09-30或2022-09-30 00:00:00结果一样,即使表中的数据展示的是带00:00:00的
select dateadd(MINUTE,0,CURRENT_DATE)
--当前加一天
select dateadd(day,1,CURRENT_DATE)
--当前减一天
select dateadd(day,-1,CURRENT_DATE)
--获取当前时间到时分秒
select getdate()

select VAR_SAMP(ec_amount) from test
--数组函数
select ARRAY(1,null,'abc',3.14)
select array_concat(array(1,2.3,'a'),array(2,'bc'))
select array_flatten(ARRAY(array(1,2,3),array('a','b')))
select get_array_length(ARRAY(1,2,'ab',null,3))
select split_to_array('1|2|ab|null|3','|')--如果ab写着“ab”,那么结果就是"\"ab\""
select subarray(ARRAY(1,null,'abc',3.14),2,3)--下标从0开始,截取位数为3

--
select '1'::varbyte || '2'::varbyte --3132,'1'的二进制值为31,两个数二进制值连接,该函数支持位运算的一些运算符
select '1'::varbyte + '2'::varbyte 
select null::varbyte + '2'::varbyte --一个为null,结果也为null
select from_hex()

--位运算可用于喜欢的时间,判断是否都喜欢

--条件函数
select case xx when aa then bb else cc end from table
select case when a<1 then 1 when a>1 then 2 else 3 end from table

--coalesce&&nvl--返回第一个不是null的值,处理空值的函数
select coalesce(null,2)
select nvl(2,null)
--decode 把列中为CNY的值替换为人民币
select decode(currency_code,'CNY','人民币') from dev.dim.dim_currency_rate_df limit 1

--greatest&&least 取最大值和最小值
select greatest(1,2,3,4,5)---5
select least(1,2,3,4,5)---1

select nvl2(null,1,'2')
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值