MySQL中常见字符串操作函数
来源:互联网 发布:波什程序员 编辑:程序博客网 时间:2024/06/05 08:24
字符串连接 concat
mysql> select concat ('who',' ','am',' ','I?') -> ;+----------------------------------+| concat ('who',' ','am',' ','I?') |+----------------------------------+| who am I? |+----------------------------------+1 row in set (0.00 sec)
ORACLE中用 || ,sql server 中用+
长度函数 length
mysql> select length('abc');+---------------+| length('abc') |+---------------+| 3 |+---------------+1 row in set (0.00 sec)
定位函数 position、locate
position
mysql> select position('3' in '0123');+-------------------------+| position('3' in '0123') |+-------------------------+| 4 |+-------------------------+1 row in set (0.00 sec)
locate
mysql> select locate('3' ,'0123',3);+-----------------------+| locate('3' ,'0123',3) |+-----------------------+| 4 |+-----------------------+1 row in set (0.00 sec)mysql> select locate('3' ,'0123',4);+-----------------------+| locate('3' ,'0123',4) |+-----------------------+| 4 |+-----------------------+1 row in set (0.00 sec)mysql> select locate('3' ,'0123',5);+-----------------------+| locate('3' ,'0123',5) |+-----------------------+| 0 |+-----------------------+1 row in set (0.00 sec)
oracle用instr()和locat()来实现上面两个功能,sql server 用charindex()来实现
case功能:strcmp(),regexp,like
类似oracle中的case功能,MySQL中有以下函数
strcmp()
select strcmp(‘123’,’abc’)
比较两个字符串的次序:
前者排序在后者之前返回-1
两个字符串相同返回0
后者排序在前者之前返回1
like
如果like命中则返回1,不命中返回0
mysql> select a like '%bb' from (select 'abb' a) a -> ;+--------------+| a like '%bb' |+--------------+| 1 |+--------------+1 row in set (0.01 sec)mysql> select a like '%bb' from (select 'abbc' a) a;+--------------+| a like '%bb' |+--------------+| 0 |+--------------+1 row in set (0.00 sec)
regexp
格式化函数,如果是预期格式返回1,不是是0
mysql> select a regexp '.{a}-.{a}-.{a}-.{a}' from (select 'a-b-b-c' a) a;+--------------------------------+| a regexp '.{a}-.{a}-.{a}-.{a}' |+--------------------------------+| 0 |+--------------------------------+1 row in set (0.01 sec)mysql> select a regexp '.{1}-.{1}-.{1}-.{1}' from (select 'a-b-b-c' a) a;+--------------------------------+| a regexp '.{1}-.{1}-.{1}-.{1}' |+--------------------------------+| 1 |+--------------------------------+1 row in set (0.00 sec)
ascii 函数
这个函数用来看单个字符的排序数字
mysql> select ascii('1');+------------+| ascii('1') |+------------+| 49 |+------------+1 row in set (0.00 sec)mysql> select ascii('2');+------------+| ascii('2') |+------------+| 50 |+------------+1 row in set (0.00 sec)mysql> select ascii('a');+------------+| ascii('a') |+------------+| 97 |+------------+1 row in set (0.00 sec)mysql> select ascii('A');+------------+| ascii('A') |+------------+| 65 |+------------+1 row in set (0.00 sec)
insert 函数
有4个参数,分别表示:原始字符串、字符串操作开始位置、要替换字符串的个数、插入字符串
mysql> select insert('adef',2,0,'bc') string;+--------+| string |+--------+| abcdef |+--------+1 row in set (0.00 sec)mysql> select insert('adef',2,1,'bc') string;+--------+| string |+--------+| abcef |+--------+1 row in set (0.00 sec)mysql> select insert('adef',2,2,'bc') string;+--------+| string |+--------+| abcf |+--------+1 row in set (0.00 sec)
oracle用replace函数,sql server 用replace和stuff函数。
substring() 字符串截取函数
这个函数应该比较常见,oracle中用substr(),sql server总用的也是substring
mysql> select substring('abcd123efg',5,3);+-----------------------------+| substring('abcd123efg',5,3) |+-----------------------------+| 123 |+-----------------------------+1 row in set (0.00 sec)
上面例子把字符串abcd123efg中的123提取出来,第一个参数为原始字符串,第2个参数为从哪个位置开始提取,第3个参数为提取多长的字符串。
0 0
- MySQL中常见字符串操作函数
- java中常见字符串操作函数
- MySQL中常见的字符串处理函数
- 常见字符串操作函数
- 字符串操作常见函数
- 常见字符串操作函数
- JavaScript中常见的字符串操作函数及用法
- JavaScript中常见的字符串操作函数及用法
- 【整理】C语言中常见的字符串操作函数
- JavaScript中常见的字符串操作函数及用法
- JavaScript中常见的字符串操作函数及用法
- 常见字符串操作函数封装
- Mysql常见字符串处理函数
- mysql字符串操作函数
- Mysql 字符串 操作函数
- C中字符串常见操作
- Python中字符串常见操作
- python中字符串常见操作
- 13 gifGenerator
- 机房水题欢乐赛 2016-02-01
- 奇数变成最大的偶数
- 【郑轻 oj】 - 1046: 奇数的乘积
- freemaker用法
- MySQL中常见字符串操作函数
- 【leetcode】Excel Sheet Column Title & Excel Sheet Column Number
- 美赛matlab编程小总结
- iOS开发——网络上传
- 爱上机器学习
- 解析url参数
- MySQL的ODBC安装错误问题!
- opencv(7)
- git 错误