mysql replace函数_mysql数据库学习(第二十二篇)- 函数

函数

d4f5f8cd8175b0c9ca1de909a3182933.png

系统函数

9b0b60efd7a77229cd171b8c9a6037a1.png

Substring(”abc”,1,2) -- 截取字符串

Char_length(“abc”) -- 字符长度

Length(“abc”) -- GBK环境下是(一个汉字两个字节,一个英文一个字节)字节长度

Instr : -- 判断字符串是否在某个具体的字符串中存在

Select instr(“abcde”,”abc”)

返回第一个匹配到的字符的位置,从1开始,如果返回的是零,则代表找不到

lpad(str,len,padstr)

返回字符串str,其左边由字符串padstr填补到len字符长度。加入str的长度大于len,则返回值被缩短至len字符。

5326fe553898ac50ef3fff74964e7472.png
ae178dbfaff4d752d5381d9fe1d08066.png
bc603742e604f536ada7cd422eabab37.png
663f8bd549c062d2d1a66994ec8e41a0.png

Find_in_set函数

FIND_IN_SET(str,strlist)

str 要查询的字符串,strlist 字段名 参数以”,”分隔 如 (1,2,6,8)如果str不在strlist 或strlist 为空字符串,则返回值为 0 。如任意一个参数为NULL,则返回值为 NULL。这个函数在第一个参数包含一个逗号(‘,’)时将无法正常运行。

+----+---------+-----------+-------------+| id | user_id | follow_id | follow_time |+----+---------+-----------+-------------+| 13 | 15 | 16,15 | 1478096138 || 14 | 15 | 17 | 1478177725 || 15 | 15 | 19 | 1478181035 |+----+---------+-----------+-------------+

比如这张表,SELECT * from test where FIND_IN_SET('5',follow_id);这样是查不到的,返回值为null,因为follow_id中没有”5”这个值,它不同于 like 模糊查询,它是以“,”来分隔值

like是广泛的模糊匹配,字符串中没有分隔符,Find_IN_SET 是精确匹配,字段值以英文”,”分

mysql> SELECT FIND_IN_SET('b','a,b,c,d'); -> 2 因为b 在strlist集合中放在2的位置 从1开始 -------------------------------------------------------- select FIND_IN_SET('1','1'); 返回 就是1 这时候的strlist集合有点特殊 只有一个字符串 其实就是要求前一个字符串 一定要在后一个字符串集合中 才返回 大于0的数 select FIND_IN_SET('2','1,2');返回2 select FIND_IN_SET('6','1'); 返回0 ---------------------------------------------------------- 注意: select * from treenodes where FIND_IN_SET(id,'1,2,3,4,5'); 使用find_in_set函数一次返回多条记录 id 是一个表的字段 然后每条记录分别是id等于1,2,3,4,5的时候 有点类似in (集合) select * from treenodes where id in (1,2,3,4,5);

UPDATE my_float SET NAME = REPLACE(NAME,'7','100')

replace函数

作用:将表中的某个字段替换成为新的字段(可进行批量操作)

Update 表 set 字段名 = replace(字段名将要被替换的字符,替换的字符) [where 条件]

UPDATE my_float SET id = REPLACE(id,'*','草') WHERE id LIKE '*%'

替换前
bda30bf18ab05f5e53b5151bdb4a0e6d.png
替换后
a3d1ae6b4762e5bc97fb9ebb6330abfd.png

自定义函数

06a5c7c7cbdc839d4770a0d3b1747d7f.png

创建函数

9fa6660f42a68b079e228cae892eb598.png
f149f00058761aa97a38a0f83c527bac.png

调用自定义函数

2df9b085f1415eab10559e81db76fce9.png
55c4fe9a0c7ff4ad51d7ae58fd44ef49.png

查看函数

查看所有函数

SHOW FUNCTION STATUS [LIKE 'xxx%' ]

查看函数的创建语句

SHOW CREATE FUNCTION 函数名

修改函数

函数不能被修改

删除函数

drop function 函数名;

函数参数

f16ec3d391dfdbf9542e9969d4a2a93e.png
4cf7db69a8da5fda46da4fb3bbfd2cec.png
544030c4f9ea53ec1b9f91190b888b77.png
作用域
825fe54b1e27e3076456763a36f2377f.png
ab201dd3aaffe2254f1864e66090cbd3.png
6687be5e2f53b92fe458bd720bc56774.png
75d3a03cb276b0b7e4b607ac25de8e1f.png
f5de74ba61db60deef9cfb20a71cc90f.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值