mysql 内置函数
mysql 内置函数
mysql 内置函数一、字符串函数
ASCII(str)
返回字符串str的最左面字符的ASCII代码值。如果str是空字符串,返回0。如果str是NULL,返回NULL。
BIT_LENGTH(str)
返回字符串的比特长度
CONCAT(s1,s2...,sn)
1、将s1,s2...,sn连接成字符串
2、如果任何一个参数是NULL,返回NULL。可以有超过2个的参数。
3、一个数字参数被变换为等价的字符串形式。
mysql> select CONCAT('My', 'S', 'QL');
-> 'MySQL'
mysql> select CONCAT('My', NULL, 'QL');
-> NULL
mysql> select CONCAT(14.3);
-> '14.3'
CONCAT_WS(separator ,str1 ,str2 ,...)
1、将s1,s2...,sn连接成字符串,并用sep字符间隔
2、CONCAT_WS() 代表 CONCAT With Separator ,是 CONCAT() 的特殊形式。
3、分隔符可以是一个字符串,也可以是其它参数。
4、如果分隔符为 NULL ,则结果为 NULL 。
INSERT(str,x,y,instr)
将字符串str从第x位置开始,y个字符长的子串替换为字符串instr,返回结果
mysql> select INSERT('Quadratic', 3, 4, 'What');
-> 'QuWhattic'
FIND_IN_SET(str,list)
1、分析逗号分隔的list列表,如果发现str,返回str在list中的位置
2、如果str不是在strlist里面或如果strlist是空字符串,返回0。
3、如果任何一个参数是NULL,返回NULL。
4、如果第一个参数包含一个“,”,该函数将工作不正常。
mysql> SELECT FIND_IN_SET('b','a,b,c,d');
-> 2
LCASE(str)或LOWER(str)
返回将字符串str中所有字符改变为小写后的结果
mysql> select LCASE('QUADRATICALLY');
-> 'quadratically'
UCASE(str)或UPPER(str)
返回将字符串str中所有字符转变为大写后的结果
LEFT(str,x)
返回字符串str中最左边的x个字符
mysql> select LEFT('foobarbar', 5);
-> 'fooba'
mysql> select RIGHT('foobarbar', 4);
-> 'rbar'
LENGTH(s)
返回字符串str中的字符数
mysql> select LTRIM(' barbar');
-> 'barbar'
mysql> select RTRIM('barbar ');
-> 'barbar'
POSITION(substr,str)
1、返回子串substr在字符串str中第一次出现的位置
2、如果substr不是在str里面,返回0.
mysql> select LOCATE('bar', 'foobarbar');
-> 4
mysql> select LOCATE('xbar', 'foobar');
-> 0
QUOTE(str)
1、用反斜杠转义str中的单引号
2、如果自变量的值为NULL, 则返回不带单引号的单词 “NULL” 。
REPEAT(str,srchstr,rplcstr)
1、返回字符串str重复x次的结果
2、如果count <= 0,返回一个空字符串。
3、如果str或count是NULL,返回NULL。
mysql> select REPEAT('MySQL', 3);
-> 'MySQLMySQLMySQL'
REVERSE(str)
返回颠倒字符串str的结果
mysql> select REVERSE('abc');
-> 'cba'
STRCMP(s1,s2)
比较字符串s1和s2
1、返回字符串str,其所有remstr前缀或后缀被删除了。
2、如果没有修饰符BOTH、LEADING或TRAILING给出,BOTH被假定。
3、如果remstr没被指定,空格被删除。
mysql> select TRIM(' bar ');
-> 'bar'
mysql> select TRIM(LEADING 'x' FROM 'xxxbarxxx');
-> 'barxxx'
mysql> select TRIM(BOTH 'x' FROM 'xxxbarxxx');
-> 'bar'
mysql> select TRIM(TRAILING 'xyz' FROM 'barxxyz');
-> 'barx'
REPLACE(str,from_str,to_str)
将str字符串中所有的from_str
由字符串to_str
代替,然后返回str.
mysql> select REPLACE('wwwcom', 'w', 'Ww');
-> 'WwWwWwcom'
mysql> select FIELD('ej', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 2
mysql> select FIELD('fo', 'Hej', 'ej', 'Heja', 'hej', 'foo');
-> 0
mysql> select ELT(1, 'ej', 'Heja', 'hej', 'foo');
-> 'ej'
mysql> select ELT(4, 'ej', 'Heja', 'hej', 'foo');
-> 'foo'
LOAD_FILE(file_name)
1、读入文件并且作为一个字符串返回文件内容。
2、文件必须在服务器上,你必须指定到文件的完整路径名,而且你必须有file权限。
3、文件必须所有内容都是可读的并且小于max_allowed_packet。
4、如果文件不存在或由于上面原因之一不能被读出,函数返回NULL。
二、日期和时间函数
DAYOFWEEK(date)
返回日期date
的星期索引(1
=星期天,2
=星期一, ……7
=星期六)。这些索引值对应于ODBC标准。
mysql> select DAYOFWEEK('1998-02-03');
-> 3
WEEKDAY(date)
返回date
的星期索引(0
=星期一,1
=星期二, ……6
= 星期天)。
DAYOFMONTH(date)
返回date
的月份中日期,在1
到31
范围内。
DAYOFYEAR(date)
返回date
在一年中的日数, 在1
到366
范围内。
MONTH(date)
返回
date
的月份,范围1
到12
。
DAYNAME(date)
返回
date
的星期名字。
MONTHNAME(date)
返回
date
的月份名字。
QUARTER(date)
返回
date
一年中的季度,范围1
到4
。
WEEK(date)
WEEK(date,first)
1、对于星期天是一周的第一天的地方,有一个单个参数,返回
date
的周数,范围在0
到52
。2、2个参数形式
WEEK()
允许你指定星期是否开始于星期天或星期一。3、如果第二个参数是
0
,星期从星期天开始,如果第二个参数是1
,从星期一开始。
YEAR(date)
返回
date
的年份,范围在1000
到9999
。
HOUR(time)
返回
time
的小时,范围是0
到23
。
MINUTE(time)
返回
time
的分钟,范围是0
到59
。
SECOND(time)
回来
time
的秒数,范围是0
到59
。
PERIOD_ADD(P,N)
增加
N
个月到阶段P
(以格式YYMM
或YYYYMM
)。以格式YYYYMM
返回值。注意阶段参数P
不是日期值。
PERIOD_DIFF(P1,P2)
返回在时期
P1
和P2
之间月数,P1
和P2
应该以格式YYMM
或YYYYMM
。注意,时期参数P1
和P2
不是日期值。
TO_DAYS(date)
给出一个日期
date
,返回一个天数(从0年的天数)。
FROM_DAYS(N)
给出一个天数
N
,返回一个DATE
值。
mysql> select FROM_DAYS(729669);
-> '1997-10-07'
DATE_FORMAT(date,format)
根据format
字符串格式化date
值。下列修饰符可以被用在format
字符串中:
%M |
月名字(January ……December ) |
%W |
星期名字(Sunday ……Saturday ) |
%D |
有英语前缀的月份的日期(1st , 2nd , 3rd , 等等。) |
%Y |
年, 数字, 4 位 |
%y |
年, 数字, 2 位 |
%a |
缩写的星期名字(Sun ……Sat ) |
%d |
月份中的天数, 数字(00 ……31 ) |
%e |
月份中的天数, 数字(0 ……31 ) |
%m |
月, 数字(01 ……12 ) |
%c |
月, 数字(1 ……12 ) |
%b |
缩写的月份名字(Jan ……Dec ) |
%j |
一年中的天数(001 ……366 ) |
%H |
小时(00 ……23 ) |
%k |
小时(0 ……23 ) |
%h |
小时(01 ……12 ) |
%I |
小时(01 ……12 ) |
%l |
小时(1 ……12 ) |
%i |
分钟, 数字(00 ……59 ) |
%r |
时间,12 小时(hh:mm:ss [AP]M ) |
%T |
时间,24 小时(hh:mm:ss ) |
%S |
秒(00 ……59 ) |
%s |
秒(00 ……59 ) |
%p |
AM 或PM |
%w |
一个星期中的天数(0 =Sunday ……6 =Saturday ) |
%U |
星期(0 ……52 ), 这里星期天是星期的第一天 |
%u |
星期(0 ……52 ), 这里星期一是星期的第一天 |
%% |
一个文字“%”。 |
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%W %M %Y');
-> 'Saturday October 1997'
mysql> select DATE_FORMAT('1997-10-04 22:23:00', '%H:%i:%s');
-> '22:23:00'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%D %y %a %d %m %b %j');
-> '4th 97 Sat 04 10 Oct 277'
mysql> select DATE_FORMAT('1997-10-04 22:23:00',
'%H %k %I %r %T %S %w');
-> '22 22 10 10:23:00 PM 22:23:00 00 6'
TIME_FORMAT(time,format)
和DATE_FORMAT()
函数一样使用,但是format
字符串只能包含处理小时、分钟和秒的那些格式修饰符。其他修饰符产生一个NULL
值或0
。
CURDATE()
以'YYYY-MM-DD'
或YYYYMMDD
格式返回今天日期值,取决于函数是在一个字符串还是数字上下文被使用。
mysql> select CURDATE();
-> '1997-12-15'
mysql> select CURDATE() + 0;
-> 19971215
CURTIME()
以'HH:MM:SS'
或HHMMSS
格式返回当前时间值,取决于函数是在一个字符串还是在数字的上下文被使用。
mysql> select CURTIME();
-> '23:50:26'
mysql> select CURTIME() + 0;
-> 235026
NOW()
以'YYYY-MM-DD HH:MM:SS'
或YYYYMMDDHHMMSS
格式返回当前的日期和时间,取决于函数是在一个字符串还是在数字的上下文被使用。
mysql> select NOW();
-> '1997-12-15 23:50:26'
mysql> select NOW() + 0;
-> 19971215235026
三、数学函数
所有的数学函数在一个出错的情况下返回NULL
。
ABS(X)
返回X
的绝对值。
SIGN(X)
返回参数的符号,为
-1
、0
或1
,取决于X
是否是负数、零或正数。
mysql> select SIGN(-32);
-> -1
mysql> select SIGN(0);
-> 0
mysql> select SIGN(234);
-> 1
MOD(N,M)
返回N
被M
除的余数。
mysql>
标签:mysql
您可能感兴趣
- mysql3种日志(mysql中的7种日志小结)
- mysql 如何选择隔离级别(全面解析MySQL中的隔离级别)
- mysql命令输入行在哪(MySQL命令行操作时的编码问题详解)
- navicat创建MySql定时任务的方法详解(navicat创建MySql定时任务的方法详解)
- mysql统计函数详解(浅析MySQL的基数统计)
- mysqlexplain的用法(MySQL SHOW STATUS语句的使用)
- mysqlworkbench怎么设置连接(详解MySQL Workbench使用教程)
- mysql中默认排序教程(基于mysql 默认排序规则的坑)
- mysql快速备份数据(如何使用Maxwell实时同步mysql数据)
- mysql查询数据去除重复(MySQL 大批量插入,如何过滤掉重复数据?)
- mysql8.0.25.0安装配置(MySQL8.0.23免安装版配置详细教程)
- mysql 日期和时间处理函数(MySQL日期与时间函数的使用汇总)
- mysql查看慢查询(MySQL 慢查询日志深入理解)
- 忘记mysql密码怎么登录(Mysql用户忘记密码及密码过期问题的处理方法)
- mysql的事务隔离级别怎么实现(mysql、oracle默认事务隔离级别的说明)
- mysql存储过程定义表(MySQL存储过程的创建、调用与管理详解)
- 怎么快速学好英语(怎么快速学好英语初中)
- 中国留学生都是富二代吗()
- 我们现在吃的苹果是哪里来的 原来现代苹果引入中国仅有一百多年(我们现在吃的苹果是哪里来的)
- 买绿宝不能只挑黄绿色 菜农教你3招挑,个个皮薄肉脆,香甜爆汁(买绿宝不能只挑黄绿色)
- 大果肉搭配薄瓜皮, 绿宝 脆甜爽口,不愧是甜瓜中的 佼佼者(大果肉搭配薄瓜皮)
- 河南尉氏县因地制宜发展果蔬种植 水坡镇绿宝甜瓜变 金瓜(河南尉氏县因地制宜发展果蔬种植)
热门推荐
- python获取游戏画面信息(python游戏开发之视频转彩色字符动画)
- 云服务器50g月流量(云服务器怎么查看流量使用情况?)
- ftp服务器登录错误(登陆FTP服务器提示530 Login authentication failed 错误的解决方法)
- css 图片边缘虚化(CSS3对图片照片进行边缘模糊处理的实现)
- css3水平移动效果(利用css3 translate完美实现表头固定效果)
- 小程序ui图与移动ui(AmazeUI 缩略图的实现示例)
- js获取子表单所有数据(JavaScript实现异步提交表单数据)
- javascript的执行原理(一文读懂JavaScript 中的延迟加载属性模式)
- node.js express 上线(node+express实现分页效果)
- python最基本的编程工具(5款Python程序员高频使用开发工具推荐)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9