MySQL函数
2015-07-30 13:04
656 查看
一.字符串操作函数
1.字符串比较
1)利用Like语句,其原型为:
expr Like ['XXX']
其中,expr代表待比较的字符串,XXX为模式串,在MySQL中正则表达式的模式字符的定义如下:
编号 字符 含义
1 % 匹配任意个字符,包括零字符
2 _ 严格的匹配一个字符
3 \% 匹配字符%
4 \_ 匹配字符_
使用方式如下:
2)利用NOT Like语句,其原型如下:
expr not like ['XXX']
他的使用方式与like相反,即不匹配时,返回1,否则返回0.
2.正则表达式
MySQL实现了更为强大的正则表达式查找,这是一种复杂的串查询技术。
正则表达式的命令格式形如:
expr REGEXP pat
表达式的含义是:模式pat对字符串表达式expr执行一次正则表达式的比较,其中模式可以是一个扩展的正则表达式。
如果表达式匹配pat,则返回1,否则返回0.
示例如下:
其中rlike是regexp的同义词,使用好正则表达式的关键是掌握各种模式字符的意义。
上面的例子中,^代表匹配前面所有的字符串,$用于匹配后面所有的字符。
1)用“.”匹配任何一个字符,使用方式如下:
select 'foo' regexp 'f.o'
利用"."来匹配中间那个o。
2)X*,他的含义是用于匹配后面的任意(包括0)个为X的字符
3)X+,他的含义是用于匹配后面的任意个字符
4)X?,他的含义是用于匹配后面0个或1个字符a
5)abc|def,他的含义是:或者匹配前面的abc,或者匹配后面的def
6)(abc*),他的含义是匹配0个或多个abc
3.计算长度
可以用length函数计算字符串的长度,结果返回字符串的个数,如果字符串为NULL,则返回NULL。
另外用bit_length,则能够返回字符从所占用的比特长度。
使用方法:select length('1234');
4.子串查找
1)substring(str,pos),用于返回字符串str的pos位置之后的子串。(pos是位置)
2)substring(str,pos,len),与上一函数类似,用于返回字符串str的pos位置后len个字符的子串。
3)right(str,len),用于返回字符串str最右边的len个字符。
4)left(str,len),用于返回str最左边len个字符
5)locate(substr,str),用于返回子串substr在字符串str最开始出现的位置。
二.控制函数
1.NULL测试
1)IFNULL的原型为IFNULL(exp1,exp2),如果exp1为非NULL,则返回exp1;否则返回exp2
2)NULLIF的原型为NULLIF(exp1,exp2),如果exp1与exp2相等,则返回NULL,否则,返回exp1
2.IF
IF函数的原型为:IF(exp1,exp2,exp3)
它的含义是:如果exp1为真,那么IF返回exp2,否则返回exp3.IF可以返回数字和字符串。
3.CASE
Case函数有两种表现形式。第一种形势下,Case会执行与value相匹配的compare-value,如果没有则返回NULL。
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result...]
[ELSE result] END
第二种形势下,判断第一个满足条件的condition表达式,如果均没有则直接返回null
CASE WHEN [condition] THEN result [WHEN [condition] THEN result... ] [ELSE result]
END
三.数学函数
1.四则运算(略)
2.高级运算
1)可以利用round函数,进行四舍五入
select round(9.3);
2)可以利用log函数进行对数求解,log函数的基本原型为log(b,x),其中b表示底,x表示要求的值。
3)利用rand()和rand(n)函数,可以计算出0-1.0之间的随机数,如果指定n,会被当成种子
4)Pow(x,y)函数可以求x的y次方。
5)radians能够将一个角度转化为弧度。
四.时间与日期函数
1.weekday
用于返回某一天的星期索引,即如果是星期一,则返回0,如果是星期日,则返回6.
2.dayofyear
用于返回某一天,处于当前的第几天
3.now
用于返回当前的时间
4.to_days
用于返回从0年到某一个日期所经历的天数。
5.date_format
date_format的格式为date_format(date,format),按format的形式,对date进行格式化。
五,加密函数
1.md5
md5的格式是md5(x),用于计算字符串x的MD5 128位校验和
2.encode和decode
3.sha和sha1
1.字符串比较
1)利用Like语句,其原型为:
expr Like ['XXX']
其中,expr代表待比较的字符串,XXX为模式串,在MySQL中正则表达式的模式字符的定义如下:
编号 字符 含义
1 % 匹配任意个字符,包括零字符
2 _ 严格的匹配一个字符
3 \% 匹配字符%
4 \_ 匹配字符_
使用方式如下:
2)利用NOT Like语句,其原型如下:
expr not like ['XXX']
他的使用方式与like相反,即不匹配时,返回1,否则返回0.
2.正则表达式
MySQL实现了更为强大的正则表达式查找,这是一种复杂的串查询技术。
正则表达式的命令格式形如:
expr REGEXP pat
表达式的含义是:模式pat对字符串表达式expr执行一次正则表达式的比较,其中模式可以是一个扩展的正则表达式。
如果表达式匹配pat,则返回1,否则返回0.
示例如下:
其中rlike是regexp的同义词,使用好正则表达式的关键是掌握各种模式字符的意义。
上面的例子中,^代表匹配前面所有的字符串,$用于匹配后面所有的字符。
1)用“.”匹配任何一个字符,使用方式如下:
select 'foo' regexp 'f.o'
利用"."来匹配中间那个o。
2)X*,他的含义是用于匹配后面的任意(包括0)个为X的字符
3)X+,他的含义是用于匹配后面的任意个字符
4)X?,他的含义是用于匹配后面0个或1个字符a
5)abc|def,他的含义是:或者匹配前面的abc,或者匹配后面的def
6)(abc*),他的含义是匹配0个或多个abc
3.计算长度
可以用length函数计算字符串的长度,结果返回字符串的个数,如果字符串为NULL,则返回NULL。
另外用bit_length,则能够返回字符从所占用的比特长度。
使用方法:select length('1234');
4.子串查找
1)substring(str,pos),用于返回字符串str的pos位置之后的子串。(pos是位置)
2)substring(str,pos,len),与上一函数类似,用于返回字符串str的pos位置后len个字符的子串。
3)right(str,len),用于返回字符串str最右边的len个字符。
4)left(str,len),用于返回str最左边len个字符
5)locate(substr,str),用于返回子串substr在字符串str最开始出现的位置。
二.控制函数
1.NULL测试
1)IFNULL的原型为IFNULL(exp1,exp2),如果exp1为非NULL,则返回exp1;否则返回exp2
2)NULLIF的原型为NULLIF(exp1,exp2),如果exp1与exp2相等,则返回NULL,否则,返回exp1
2.IF
IF函数的原型为:IF(exp1,exp2,exp3)
它的含义是:如果exp1为真,那么IF返回exp2,否则返回exp3.IF可以返回数字和字符串。
3.CASE
Case函数有两种表现形式。第一种形势下,Case会执行与value相匹配的compare-value,如果没有则返回NULL。
CASE value WHEN [compare-value] THEN result [WHEN [compare-value] THEN result...]
[ELSE result] END
第二种形势下,判断第一个满足条件的condition表达式,如果均没有则直接返回null
CASE WHEN [condition] THEN result [WHEN [condition] THEN result... ] [ELSE result]
END
三.数学函数
1.四则运算(略)
2.高级运算
1)可以利用round函数,进行四舍五入
select round(9.3);
2)可以利用log函数进行对数求解,log函数的基本原型为log(b,x),其中b表示底,x表示要求的值。
3)利用rand()和rand(n)函数,可以计算出0-1.0之间的随机数,如果指定n,会被当成种子
4)Pow(x,y)函数可以求x的y次方。
5)radians能够将一个角度转化为弧度。
四.时间与日期函数
1.weekday
用于返回某一天的星期索引,即如果是星期一,则返回0,如果是星期日,则返回6.
2.dayofyear
用于返回某一天,处于当前的第几天
3.now
用于返回当前的时间
4.to_days
用于返回从0年到某一个日期所经历的天数。
5.date_format
date_format的格式为date_format(date,format),按format的形式,对date进行格式化。
五,加密函数
1.md5
md5的格式是md5(x),用于计算字符串x的MD5 128位校验和
2.encode和decode
3.sha和sha1
相关文章推荐
- [MySQL优化案例]系列 — 分页优化
- 未测试---- mysql+spring+mybatis实现数据库读写分离[代码配置]
- mysql分组后取前几条数据
- mysql中SELECT INTO 和 replace into SELECT 两种表复制语句
- mysql中SELECT INTO 和 INSERT INTO SELECT 两种表复制语句
- mysql配置文件my.cnf解析
- 小试mysql分布式
- Ubuntu 下安装mysql数据库
- Mysql 存储过程查询结果赋值到变量的方法
- MySQL Sharding详解
- MySQL常见查询语句
- mysql报Fatal error encountered during command execution的解决办法
- Another MySQL daemon already running with the same unix socket
- Mysql配置
- 调用MYSQL存储过程实例
- Message: mysql_get_server_info(): The mysql extension is deprecated and ……
- Message: mysql_get_server_info(): The mysql extension is deprecated and ……
- 批量修改mysql 截取字符串
- mysql 单机同版本多实例 mysql55
- MySql access denied for user