-- 字符串函数
SELECT LENGTH('汉字') ,LENGTH('ab')-- 一个汉字占3位,一个英文占1位
SELECT CONCAT_WS('-','汉字','ab') -- 连接中间分隔符定义
SELECT LOWER('AB') -- 大写转小写
SELECT UPPER('ab') -- 小写转大写
SELECT LEFT('abc',2) -- 返回字符串左边几个字符
SELECT RIGHT('abc',2) -- 返回字符串右边几个字符
SELECT LPAD('ab',4,'cd') -- 将后面的字符串添加到前面字符串的左边,总长度为4
SELECT RPAD('ab',6,'cd') -- 将后面字符串添加到前面字符串的右边,总长度为4,如果总长度大于两个字符串加起来的,则重复添加后面的字符串
SELECT REPEAT('ab',3) -- 重复里面的字符串3次
SELECT STRCMP('abc','abcd') -- 比较两个字符串,如果相等返回0,如果左边字符串大于右边字符串返回1,如果左边字符串小于右边字符串返回-1
SELECT LOCATE('ab','abcdef') -- 返回前面字符串在后面字符串中的位置
SELECT FIELD('ab','cd','abcd','ab') -- 返回第一个字符串在后面字符串第一次出现的位置
-- 日期和时间函数
SELECT
CURRENT_DATE() as '数据库日期',
CURRENT_DATE()+0 as '数据库日期', # +0则返回不带-的日志格式
CURDATE() as '数据库日期',
CURRENT_DATE as '数据库日期',
CURRENT_TIME() as '数据库时间',
CURRENT_TIMESTAMP() as '数据库时间和日期',
CURRENT_TIMESTAMP()+0 as '数据库时间和日期', # +0则返回不带-的日志格式
UTC_DATE() as '时间标准日期东八区',
UTC_TIME() as '世界标准时间东八区',
UTC_TIMESTAMP() as '世界标准日期+时间东八区',
UNIX_TIMESTAMP() as '从1970-01-01开始的总秒数戳',
MONTHNAME(CURRENT_DATE())
-- 加密
SELECT PASSWORD('abc'),PASSWORD('abc') -- 返回一个md5加密数
-- 聚合group_concat 可以根据某个字段进行排序,可以定义分隔符
-- 聚合函数如果没有group 默认是将表中所有数据当成一个组处理,当然结果就只有一个
SELECT auto_id,doc_name,OPTION_TIME,GROUP_CONCAT(doc_name ORDER BY doc_name SEPARATOR '|')
from emr_data_org
-- WHERE HOUR(OPTION_TIME)=0
GROUP BY HOUR(OPTION_TIME)