sql常用函数积累(非窗口函数)
1.concat
在 SQL 中,concat函数用于将两个或多个字符串值连接成一个字符串
例如,如果有一个包含姓氏(last_name)和名字(first_name)的表,可以使用 CONCAT 来生成一个完整的姓名:
SELECT CONCAT(first_name, ' ', last_name) AS full_name
FROM employees;
concat函数在mysql中可以上这样连接多个字符串的,但是在 Oracle 数据库中,concat 函数只接受两个参数。要连接多个字符串,您需要嵌套使用 cancat,或者使用 || 操作符。
2.replace
在 MySQL 中,REPLACE
函数是一个字符串函数,用于在一个字符串内替换所有出现的指定子字符串为另一个子字符串。如果要替换的子字符串在原字符串中不存在,则原字符串保持不变。
用法如下:
REPLACE(column, from_str, to_str)
从column中找到from_str子串替换为to_str子串,返回替换后的string。
所以如果要替换某个值可以这样写:
UPDATE titles_test
SET emp_no = REPLACE(emp_no, 10001, 10005)
WHERE id = 5;
tips:如果是使用replace into table_name values()的方式,则需要将所有的字段都写在括号里面
3.length
length函数返回字符串的长度,它可以和replace函数结合使用来统计某个字符串中某个字符出现的次数
select id ,length(string)-length(replace(string,',',''))
from strings
这就是在统计逗号出现的次数,用replace函数将逗号都替换成空白,之后再比较原字符串和现在的长度差
4.right left
right:提取字符串最右边的一定数量的字符
SELECT id, RIGHT(string, 2) AS last_two_chars
FROM your_table;
left:提取字符串最左边的一定数量的字符
SELECT id, LEFT(string, 2) AS first_two_chars
FROM your_table;
4.substring
SUBSTRING()
函数可以用来获取字符串从特定位置开始的特定长度的子串
substring(string,start,length)
5.group_concat
GROUP_CONCAT
函数用于将来自多个行的列值连接成一个字符串,这些行通常是分组后的结果
基本使用,合并分组后的名称,使用封号分隔符(不指定separator默认是逗号)
SELECT group_id, GROUP_CONCAT(name separator ';') AS names
FROM members
GROUP BY group_id;