字符串连接
SELECT 'A'||'B'; 字符串连接,适用于字符串与数字连接
SELECT CONCAT(10,'a','hello',20.0); 连接所有参数,个数不限,类型不限
字母转换
SELECT LOWER('ABCD'); 将字符转换成小写
SELECT UPPER('ABCD'); 将字符转换成大写
SELECT INITCAP('abcd'); 将字符串中每个单词的首字母大写
字符串替换
SELECT REPLACE('aaaxxx','a','_'); 替换字符串:SELECT REPLACE('aaaxxx','a','_');
SELECT TRIM(' asd '); 删除头尾部空格 → TRIM(BOTH ' asd ')
SELECT TRIM(LEADING ' asd '),LENGTH(TRIM(LEADING ' asd ')); 删除头部空格
SELECT TRIM(TRAILING ' asd '),LENGTH(TRIM(TRAILING ' asd ')); 删除尾部空格
SELECT TRIM('aaahelloworldaaa','a'); 可以指定删除字符,默认删除空格
字符串查找与截取
SELECT POSITION('lo' in 'hello'); 给定子字符串在字符串的位置,查询不到时返回0。
SELECT SUBSTRING('hello world' FROM 3 FOR 10); 截取字符串,从from位置截取长度for
SELECT LENGTH('ABCD'); 字符串中字符的个数
SELECT LEFT('HELLO',2); 返回字符串前n个字符,n为负数时返回除最后|n|个字符以外的所有字符
SELECT RIGHT('HELLO',2); 返回字符串后n个字符,n为负数时返回除最前|n|个字符意外的所有字符
strpos(string, substring);例如:strpos('high','ig'),返回2
字符串类型转换
SELECT CAST(10.0 AS text);
SELECT CAST(salary AS int) FROM company3; 类型转换
字符串判断null
COALESCE(b.price, 其它值)
字符串前缀填充
select lpad(‘256’, 6, ‘0’) //256不满6位数时,在左边补0,最终达到6位长度
字符串后缀填充
select rpad(‘256’, 6, ‘0’) //256不满6位数时,在右边补0,最终达到6位长度