MYSQL数据库(十四)- 字符函数
来源:互联网 发布:java字符串相等的判断 编辑:程序博客网 时间:2024/05/16 14:30
目录
常用字符运算符
concat() 字符链接concat_ws() 使用指定的分隔符进行字符链接format() 数字格式化lower() 转换成小写upper() 转换成大写left() 获得左侧字符right() 获得右侧字符length() 获取字符串的长度ltrim() 删除前导空格rtrim() 删除后续空格trim() 删除前导和后续空格subsuring() 字符串截取[not] like 模式匹配peplace() n 字符串替换
案例
----------------------concat() ---------------------------//例如一、使用concat()连接字符“1111”和字符“2222”//连接字符mysql> select concat('1111','2222');+-----------------------+| concat('1111','2222') |+-----------------------+| 11112222 |+-----------------------+//例如二、使用concat()把“1111”和字符“2222”,并用“_”连接mysql> select concat('111','_','222');+-------------------------+| concat('111','_','222') |+-------------------------+| 111_222 |+-------------------------+1 row in set (0.00 sec)//例如三、连接数据表中,列名称//例如需要连接 id和name的参数合成一个,并打印出结果mysql> select * from ceshi;+----+------+------+| id | name | sex |+----+------+------+| 1 | 老王 | 男 || 2 | 老耿 | 帅哥 || 3 | 老李 | 男 || 4 | 老王 | 男 || 5 | 老王 | 男 || 6 | 小花 | 女 || 7 | 小翠 | 妇女 || 8 | 小三 | 女 || 9 | 小名 | 儿童 || 10 | 小狼 | 动物 || 11 | 小龙 | 动物 |+----+------+------+11 rows in set (0.00 sec)//这里用到的就是concat();mysql> select concat(id,name) as fullname from ceshi;+----------+| fullname |+----------+| 1老王 || 2老耿 || 3老李 || 4老王 || 5老王 || 6小花 || 7小翠 || 8小三 || 9小名 || 10小狼 || 11小龙 |+----------+11 rows in set (0.00 sec)----------------------concat_ws() ---------------------------//作用:使用指定的分隔符进行字符链接//第一个‘|’是需要用的分割符号,后面跟的是分割的内容。例如下面案例mysql> select concat_ws('|','a','b','c');+----------------------------+| concat_ws('|','a','b','c') |+----------------------------+| a|b|c |+----------------------------+1 row in set (0.00 sec)----------------------format() ---------------------------//作用,格式化//案例:格式化数字:1234456.2345,并保留两位数mysql> select format(1234456.2345,2);+------------------------+| format(1234456.2345,2) |+------------------------+| 1,234,456.23 |+------------------------+1 row in set (0.00 sec)----------------------lower()和upper() ---------------------------作用:lower,转换成小写upper,转换成大写//大写转换成小写mysql> select lower('MYSQL');+----------------+| lower('MYSQL') |+----------------+| mysql |+----------------+1 row in set (0.01 sec)//小写转换成大写mysql> select UPPER('mysql');+----------------+| UPPER('mysql') |+----------------+| MYSQL |+----------------+1 row in set (0.00 sec)----------------------left()和right() ---------------------------作用:left,获取左边字符right,获取右边字符//案例一:获取左边字符mysql> select left('aabbccddee',2);+----------------------+| left('aabbccddee',2) |+----------------------+| aa |+----------------------+1 row in set (0.00 sec)//案例二:获取右边字符mysql> select right('aabbccddee',2);+-----------------------+| right('aabbccddee',2) |+-----------------------+| ee |+-----------------------+1 row in set (0.00 sec)----------------------length() ---------------------------//作用:获取字符长度,记住空格也算一位mysql> select length('my s ql');+-------------------+| length('my s ql') |+-------------------+| 7 |+-------------------+1 row in set (0.04 sec)----------------------ltrim()、rtrim()、trim() ---------------------------作用:ltrim():删除前导空格 ,第一个字符之前的空格rtrim():删除后导空格,最后一个字符之后的空格trim();删除前导和后续空格//案例一://删除前导字符,mysql> select ltrim(' aaa ');+------------------+| ltrim(' aaa ') |+------------------+| aaa |+------------------+1 row in set (0.00 sec)//删除后长度为5,因为前面两个空格删除掉了mysql> select length(ltrim(' aaa '));+--------------------------+| length(ltrim(' aaa ')) |+--------------------------+| 5 |+--------------------------+//案例二://删除了后两个空格mysql> select rtrim(' aaa ');+------------------+| rtrim(' aaa ') |+------------------+| aaa |+------------------+1 row in set (0.00 sec)//删除后两个空格,长度也是为5mysql> select length(rtrim(' aaa '));+--------------------------+| length(rtrim(' aaa ')) |+--------------------------+| 5 |+--------------------------+1 row in set (0.00 sec)//案例三://删除前导和后导空格,mysql> select trim(' aaa ');+-----------------+| trim(' aaa ') |+-----------------+| aaa |+-----------------+1 row in set (0.00 sec)//删除前导和后导空格,注意,第一个字符和最后一个字符之间的空格不会被删除mysql> select trim(' a aa ');+------------------+| trim(' a aa ') |+------------------+| a aa |+------------------+1 row in set (0.00 sec)//案例四:删除字符串中%%%%aaaaa%%%%中的前导的“%”字符//成功删除了前面的%字符。mysql> select trim(leading'%' from '%%%%aaaaa%%%%');+---------------------------------------+| trim(leading'%' from '%%%%aaaaa%%%%') |+---------------------------------------+| aaaaa%%%% |+---------------------------------------+1 row in set (0.00 sec)案例五:删除字符串中%%%%aaaaa%%%%中的后导的“%”字符//成功删除了后面的%字符。mysql> select trim(trailing'%' from '%%%%aaaaa%%%%');+----------------------------------------+| trim(trailing'%' from '%%%%aaaaa%%%%') |+----------------------------------------+| %%%%aaaaa |+----------------------------------------+1 row in set (0.00 sec)//案例六:全部删除前导和后导的%//全部删除前导和后导的%,但是切记,字符中的空格得不到删除。mysql> select trim(both'%' from '%%%%aaaaa%%%%');+------------------------------------+| trim(both'%' from '%%%%aaaaa%%%%') |+------------------------------------+| aaaaa |+------------------------------------+1 row in set (0.00 sec)----------------------replace() ---------------------------作用:替换(可以一换一,也可以一环多)//案例一:?好替换成$*mysql> select replace('?sssssss??aaaaa??bbbbb??ggggggg???','?','$*');+--------------------------------------------------------+| replace('?sssssss??aaaaa??bbbbb??ggggggg???','?','$*') |+--------------------------------------------------------+| $*sssssss$*$*aaaaa$*$*bbbbb$*$*ggggggg$*$*$* |+--------------------------------------------------------+1 row in set (0.00 sec)//案例二:两个?更换成*号。只有一个或者多余2个?好的,不能更换。mysql> select replace('?sssssss??aaaaa??bbbbb??ggggggg???','??','*');+--------------------------------------------------------+| replace('?sssssss??aaaaa??bbbbb??ggggggg???','??','*') |+--------------------------------------------------------+| ?sssssss*aaaaa*bbbbb*ggggggg*? |+--------------------------------------------------------+1 row in set (0.00 sec)----------------------substring() ---------------------------//作用:字符串的截取//注意:我们java开发中,也有这个关键字,区别起始下表mysql是从1开始,java中是从0开始。//案例一mysql> select substring('abhjju',1,2);+-------------------------+| substring('abhjju',1,2) |+-------------------------+| ab |+-------------------------+1 row in set (0.00 sec)//案例二:也可以写负值,但是请注意,位置可以是负,但是长度不可以为负mysql> select substring('abhjju',-1);+------------------------+| substring('abhjju',-1) |+------------------------+| u |+------------------------+1 row in set (0.02 sec)
//———————-【not】like) —————————
如图1:
ESCAPE 过滤1后面的%为普通字符%代表任意字符,_代表任意一个字符。like语句查找“%”时,使用这个模式'%1%%',escape '1'模糊查询 like '% ab%'; like '_ab%'; not like ' '; select like '%\%%' escape '\'; 特殊\
阅读全文
0 0
- MYSQL数据库(十四)- 字符函数
- mysql数据库字符处理函数
- 十四、MySQL数据库维护
- MySQL学习笔记(十四)自定义函数
- MYSQL数据库常用字符处理函数
- 第二十四课:操作MySQL数据库(一)
- 边记边学PHP-(十四)MySql数据库基础操作1
- 数据库学习纪要(二十四):MySQL-4-ALTER语句
- 嵌入式数据库(十四)
- mysql 数据库字符转换
- mysql 字符函数
- mysql字符函数
- MySQL字符函数
- MySQL字符函数
- MySQL字符函数
- Mysql 数字、字符函数
- MySQL--字符函数
- MySQL字符函数
- SpringBoot-04SpringBoot使用JdbcTemplate操作数据库
- tensorflow实现循环神经网络
- 使用函数验证哥德巴赫猜想
- 怎样使用OpenCV进行人脸识别
- Android车牌号匹配
- MYSQL数据库(十四)- 字符函数
- 查找文件夹下图片的数量
- vs2008下设置.h, .lib和 .dll 的路径配置全图及其意义
- 绘制灰度直方图(OpenCV + Java)
- 树、森林与二叉树的转换及遍历
- 解决:按截图 ctrl+alt+a QQ聊天窗口就自动最小化(QQ以外的可以截图)
- TCP定时器
- git:指令备忘录
- Java面试题全集(上)