整理了包括字符串与日期互转、字符串与数字互转、多行合并为一行、拼接字段等一些常用的函数,当然有些功能实现的方法不止一种,这里列举了部分常用的,后续会持续补充。
MySQL | Oracle | SQL Server | |
---|---|---|---|
字符串转数字 | CAST('123' as SIGNED) 或 | TO_NUMBER('123') | CAST('123' as SIGNED) |
数字转字符串 | CONVERT(123, CHAR) | TO_CHAR(123) | CAST(123 as VARCHAR(10)) |
字符串转时间 | STR_TO_DATE('2020-01-01 00:00:00', '%Y-%m-%d %H:%i:%s') | TO_DATE('2020-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS') | CONVERT(DATETIME, '2020-01-01 00:00:00', 20) |
时间转字符串 | DATE_FORMAT(SYSDATE(), '%Y-%m-%d %H:%i:%s') | TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') | CONVERT(VARCHAR(100), GETDATE(), 20) |
多行合并为一行 | GROUP_CONCAT(列名 SEPARATOR ‘分隔符’) | LISTAGG(列名, ‘分隔符’) WITHIN GROUP(ORDER BY 列名) 或 WM_CONCAT(列名) | STRING_AGG(列名) |
计算字符串长度 | LENGTH('hello world哈哈') | LENGTH('hello world哈哈') | LEN('hello world哈哈') |
拼接多个字段 | CONCAT(列名, ',', 列名) | CONCAT(CONCAT(列名, ','), 列名) 或 列名||','||列名 | 列名+列名(注:需要同类型) |