mysql加解密,substring substring_index函数

发布时间 2023-03-27 22:33:56作者: oktokeep

mysql加解密,substring substring_index函数

SELECT to_base64(AES_ENCRYPT('测试串','key12345678')) ;
SELECT AES_DECRYPT(from_base64('iqJIDwYLlcAZ/AP3VvODJg=='),'key12345678');

# 拼接函数串123456789
SELECT CONCAT("拼接函数串","123456789"); # 拼接函数串123456789
SELECT CONCAT("拼接函数串","123456789","he","llo"); # 拼接函数串123456789hello


#格式: SUBSTRING(s, start, length)
SELECT SUBSTRING('拼接函数串123456789',6); # 123456789
SELECT SUBSTRING('拼接函数串123456789',-6); # 456789,倒数。

SELECT SUBSTRING('拼接函数串123456789',6,3); # 123


#格式:SUBSTRING_INDEX(str, delimiter, number)
#str: 待截取的字符串,STRING类型
#delimiter: 分隔符,STRING类型
#number: 指定分隔符位置,INT类型

-- 案例1
SELECT SUBSTRING_INDEX('a*b','*',1) -- a

-- 案例2
SELECT SUBSTRING_INDEX('a*b','*',-1) -- b

-- 案例3
SELECT SUBSTRING_INDEX('a*b*c*d*e','*',3); # a*b*c
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX('a*b*c*d*e','*',3),'*',-1) -- c
-- 案例3可拆解成以下两个步骤
SELECT SUBSTRING_INDEX('a*b*c*d*e','*',3); -- a*b*c
SELECT SUBSTRING_INDEX('a*b*c','*',-1) -- c

-- 案例4
-- 如果任一输入参数为NULL,则返回NULL
SELECT SUBSTRING_INDEX('https://www.google.com', NULL, 2);
SELECT SUBSTRING_INDEX('https://www.google.com', '.', NULL);
SELECT SUBSTRING_INDEX(NULL, '.', 2);

-- 案例5
-- 如果number超过了实际分隔符的个数,则返回实际个数的字符串
-- https://www.google.com
SELECT SUBSTRING_INDEX('https://www.google.com', '.', 4);