mysql常用函数基本查询
2016-06-24 07:49
435 查看
常用函数
a) ? Functions可以查询各种普通函数
b) ? Functions and Modifiers for Use withGROUP BY可以查询各种分组(聚合)函数
a)字符串函数
-- mysql在处理字符串时,字符下标从1开始。
-- concat(s1,s2,... sn)连接s1,s2,... sn为一个字符串
-- insert(str,x,y,instr)讲字符串str第x位置开始,y个字符长的子串替换为字符串instr(这里会删除原来的内容,相当于java stringbuilder replace)
-- lower(str)转小写
-- upper(str)转大写
-- left(str,x)返回 str 左边x个字符
-- right(str,x)返回 str 右边x个字符
-- lpad(str,n,pad)用字符串pad对str左边填充直到总长度为n
-- rpad(str,n,pad)用字符串pad对str右边填充直到总长度为n
-- ltrim(str)去掉字符串左边空格
-- rtrim(str)去掉字符串右边空格
-- trim(str)去除str左右的空格
-- repeat(str,x)字符串str重复x次的结果
-- replace(str,a,b)把str中所有a替换为b
-- substring(str,x,y)截取str的x位置起y个字符长度的字符串
b) 数值函数
ABS(X) 取绝对值函数
CEILING(X), CEIL(X) 返回大于x的最小整数
FLOOR(X) 返回小于x的最大整数
MOD(N,M), N % M, N MOD M 取模函数
RAND(), RAND(N) 取0-1之间的随机数函数 0 ≤ v ≤ 1.0浮点数
TRUNCATE(X,D) 返回数字X被截断为D位小数的结果
c)日期和时间函数
-- CURDATE() 当前日期函数
-- CURTIME() 当前时间函数
-- NOW() 当前日期和时间函数
-- WEEK(date)返回所给日期是一年中的第几周
-- YEAR(date)返回所给日期是那一年
-- HOUR(time)返回时间的小时信息
-- MINUTE(time) 返回时间的分钟信息
-- MONTHNAME(date) 返回时间的完整月份名字
-- DATE_FORMAT(date,format)根据format格式date显示形式
-- STR_TO_DATE(str,format)函数(字符串转时间)
-- DATE_ADD(date,INTERVAL expr type) 返回与所给日期date相差INTERVAL的时间段
-- DATEDIFF(expr,expr2) 计算两个日期之间相差的天数
d)类型转换函数
-- BINARY函数(字符串转换二进制字符串)(=等值比较字符串时会忽略大小写和空格,通过BINARY可以强制比较真实内容)
-- SELECT 'a'='A'
-- SELECT 'a'='A '
-- SELECT BINARY 'a'= BINARY 'A '
-- Cast函数(值转换为其他类型)
-- SELECT CAST('-1' AS SIGNED ); 字符串转有符号数字
-- SELECT CAST('-1' AS UNSIGNED); 字符串转无符号数字
-- SELECT CAST(11 AS char); 数字转字符串
-- STR_TO_DATE(str,format)函数(字符串转时间)
-- SELECTSTR_TO_DATE('01,5,2013','%d,%m,%Y');
-- SELECTSTR_TO_DATE('09:30:17','%h:%i:%s');
-- DATE_FORMAT(date,format)函数(时间按格式转字符串)
-- SELECT DATE_FORMAT('2009-10-0422:23:00', '%d %m %Y');
-- SEC_TO_TIME(seconds)函数(分钟数转时间time)
-- SELECTSEC_TO_TIME(2378);
-- TIME_TO_SEC(time)函数(时间time转分钟数)
-- SELECT TIME_TO_SEC(curTime());
e)流程函数
IF(b1,expr2,expr3)函数:
如果b1为真(非0,和null)则返回expr2,否则返回expr3//有点像java中三目运算
IFNULL(expr1,expr2)函数:
若expr1为NULL则返回expr2内容
CASE函数
1)定值比较-类似于switch结构
CASE value
WHEN [compare_value] THEN result
[WHEN [compare_value] THEN result...]
[ELSE result]END
2)条件判断-类似于if else if结构 CASE WHEN [condition] THEN result
[WHEN [condition] THEN result ...]
[ELSE result] END
e) 其他函数
DATABASE()函数:用于查询当前使用数据库的名字(通过 use dbname切换)
VERSION()函数:用户查询所使用数据库的版本
USER()函数:查询当前登陆用户名
INET_ATON(expr)函数:查询IP地址的网络字节序表示,反函数是 INET_NTOA,如('192.168.1.1')
INET_NTOA(expr)函数:查询网络字节序代表的IP地址,是INET_ATON的反函数
a) ? Functions可以查询各种普通函数
b) ? Functions and Modifiers for Use withGROUP BY可以查询各种分组(聚合)函数
a)字符串函数
-- mysql在处理字符串时,字符下标从1开始。
-- concat(s1,s2,... sn)连接s1,s2,... sn为一个字符串
-- insert(str,x,y,instr)讲字符串str第x位置开始,y个字符长的子串替换为字符串instr(这里会删除原来的内容,相当于java stringbuilder replace)
-- lower(str)转小写
-- upper(str)转大写
-- left(str,x)返回 str 左边x个字符
-- right(str,x)返回 str 右边x个字符
-- lpad(str,n,pad)用字符串pad对str左边填充直到总长度为n
-- rpad(str,n,pad)用字符串pad对str右边填充直到总长度为n
-- ltrim(str)去掉字符串左边空格
-- rtrim(str)去掉字符串右边空格
-- trim(str)去除str左右的空格
-- repeat(str,x)字符串str重复x次的结果
-- replace(str,a,b)把str中所有a替换为b
-- substring(str,x,y)截取str的x位置起y个字符长度的字符串
b) 数值函数
ABS(X) 取绝对值函数
CEILING(X), CEIL(X) 返回大于x的最小整数
FLOOR(X) 返回小于x的最大整数
MOD(N,M), N % M, N MOD M 取模函数
RAND(), RAND(N) 取0-1之间的随机数函数 0 ≤ v ≤ 1.0浮点数
TRUNCATE(X,D) 返回数字X被截断为D位小数的结果
c)日期和时间函数
-- CURDATE() 当前日期函数
-- CURTIME() 当前时间函数
-- NOW() 当前日期和时间函数
-- WEEK(date)返回所给日期是一年中的第几周
-- YEAR(date)返回所给日期是那一年
-- HOUR(time)返回时间的小时信息
-- MINUTE(time) 返回时间的分钟信息
-- MONTHNAME(date) 返回时间的完整月份名字
-- DATE_FORMAT(date,format)根据format格式date显示形式
-- STR_TO_DATE(str,format)函数(字符串转时间)
-- DATE_ADD(date,INTERVAL expr type) 返回与所给日期date相差INTERVAL的时间段
-- DATEDIFF(expr,expr2) 计算两个日期之间相差的天数
d)类型转换函数
-- BINARY函数(字符串转换二进制字符串)(=等值比较字符串时会忽略大小写和空格,通过BINARY可以强制比较真实内容)
-- SELECT 'a'='A'
-- SELECT 'a'='A '
-- SELECT BINARY 'a'= BINARY 'A '
-- Cast函数(值转换为其他类型)
-- SELECT CAST('-1' AS SIGNED ); 字符串转有符号数字
-- SELECT CAST('-1' AS UNSIGNED); 字符串转无符号数字
-- SELECT CAST(11 AS char); 数字转字符串
-- STR_TO_DATE(str,format)函数(字符串转时间)
-- SELECTSTR_TO_DATE('01,5,2013','%d,%m,%Y');
-- SELECTSTR_TO_DATE('09:30:17','%h:%i:%s');
-- DATE_FORMAT(date,format)函数(时间按格式转字符串)
-- SELECT DATE_FORMAT('2009-10-0422:23:00', '%d %m %Y');
-- SEC_TO_TIME(seconds)函数(分钟数转时间time)
-- SELECTSEC_TO_TIME(2378);
-- TIME_TO_SEC(time)函数(时间time转分钟数)
-- SELECT TIME_TO_SEC(curTime());
e)流程函数
IF(b1,expr2,expr3)函数:
如果b1为真(非0,和null)则返回expr2,否则返回expr3//有点像java中三目运算
IFNULL(expr1,expr2)函数:
若expr1为NULL则返回expr2内容
CASE函数
1)定值比较-类似于switch结构
CASE value
WHEN [compare_value] THEN result
[WHEN [compare_value] THEN result...]
[ELSE result]END
2)条件判断-类似于if else if结构 CASE WHEN [condition] THEN result
[WHEN [condition] THEN result ...]
[ELSE result] END
e) 其他函数
DATABASE()函数:用于查询当前使用数据库的名字(通过 use dbname切换)
VERSION()函数:用户查询所使用数据库的版本
USER()函数:查询当前登陆用户名
INET_ATON(expr)函数:查询IP地址的网络字节序表示,反函数是 INET_NTOA,如('192.168.1.1')
INET_NTOA(expr)函数:查询网络字节序代表的IP地址,是INET_ATON的反函数
相关文章推荐
- is not allowed to connect to this MySQL server解决办法
- MySQL 的复合查询或者嵌套查询
- Mysql引擎介绍
- Mysql优势和特点
- mysql使用GROUP BY分组实现取前N条记录的方法
- MySQL实现树状所有子节点查询的方法
- MySQL统计函数GROUP_CONCAT使用陷阱分析
- mysql group_concat()函数用法总结
- 阿里云配置mysql远程连接
- 限制MySQL Delete语句删除数据
- mysql中INSERT INTO… ON DUPLICATE KEY UPDATE用法
- mysql sql片段
- ubuntu服务器mysql管理 第二弹
- mysql学习笔记—1.mysql环境准备
- mysql常用基础操作语法(十)~~子查询【命令行模式】
- logstash-input-jdbc实现mysql 与elasticsearch实时同步深入详解
- MySQL中union操作
- mysql插入数据自增
- jsp 连接mysql插入数据乱码
- MySql和Sql server中函数和存储过程的实现