拼接字符串:
select shejdd || shijdd||qujdd||hddd dd from table_name;
查询表中的shejdd,shijdd,qujdd,hddd字段将查询结果拼接为一个叫dd的字段
例子:
select 'hello'||'world'||' ABC';
结果:helloworld ABC
select substring('12312345678',1,3) ||'****'||substring('12312345678',8,4) as sjhm;
结果:123****5678
substring(str,index,length);
str表示需要被分割的字符串
index表示下标,默认从下标1开始
length表示需要分割的字符串的长度
select regexp_replace (regexp_replace('山东省济南市历下区', '^山东省', ''),'区$','');
结果:济南市历下
regexp_replace(text,pattern text,replacement text);
介绍:将匹配POSIX正则表达式的子串替换为新文本的功能。若没有匹配pattern text,返回原字符串。若匹配,则返回的text串里面的被匹配的字符串将被replacement text替换后的字符串。
select to_char(fwsj,'yyyy-mm-dd hh24'),count(*) from table_name
where fwsj>'2020-03-06 12:00:00' and fwsj <now()
GROUP BY to_char(fwsj,'yyyy-mm-dd hh24')
order by to_char(fwsj,'yyyy-mm-dd hh24') asc;
SELECT EXTRACT(epoch FROM CAST('2017-12-06 00:17:10' AS TIMESTAMP));
结果:1512519430
作用:可用作查询条件来比较时间大小
SELECT TO_TIMESTAMP(1512490630);
结果:2017-12-06 00:17:10+08
这种转化的日期最后会带上时区
select to_date('2019-01-15 18:33:41','yyyy-MM-dd hh24:mi:ss');
结果为:2019-01-15
将字符串转为年月日的日期,不包含时分秒
例子1:
select '123'::NUMERIC as number;
select '123' as number;
::作用:
将一种类型的常量转化成指定类型的常量
例子1等价于以下两种写法
select cast('123' as NUMERIC);
select NUMERIC'123';
当然如果是’123a’这种不能转换的,SQL会报错
错误用法:
select round(400/300,4);
结果为:1
两个integer类型的数字相除,结果保留整数部分
正确用法:
select round(400::NUMERIC/300::NUMERIC,4);
结果为:1.3333
转化成浮点数,相除的结果为浮点数