–给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')