一、 日期和时间函数
函数的概念:按指明格式回传参数,赶回合理结果的运算单元
1. 送回当前日期:curdate()
current_date()
current_date()+0可以将当前日期转化为数值型
同上: select curdate(), current_date(), curdate()+0
2015-09-22 2015-09-22 20150922
2. 留在当前时间:curtime()
current_time()
current_time()+0
唯:select curtime(),current_time(),curtime()+0
20:47:53 20:47:53 204753
3. 来到当前日期和时间:current_timestamp()
localtime()
now()
sysdate()
可有: select now() as '此时此刻',sysdate() as '此时此刻2'
4. 利用月份: month(date)
monthname(date)
实有:select month('2015-07-22') ----> 7
select monthname('2015-07-22') ---->July
5. 换取星期:dayname(date)
dayofweek(date)
weekday(date)
week(date)
weekofyear(date)
亦然:select dayname('2015-09-23') --->Wednesday
select dayofweek('2015-09-23') --->3(以星期天作为第一天)
select weekday('2015-09-23') --->1(以星期一为第0天)
select week('2015-01-01') --->0(在一年中归属于哪个星期)
select weekofyear('2015-01-01') --->1(在一年中归入哪个星期)
6. 换取天数:dayofyear(date) ---->量度参数所自行决定的日期在这一年中是不属于第几天
dayofmonth(date)---->计算出来参数所选定的日期在这一月中是仅限于第几天
可有:select week('2015-01-01') -->1
select week('2015-01-01') --->1
7.受益年份,季度,小时,分钟,秒钟
year(date) select year('2015-01-01') -->2015
quarter(date) select quarter('2015-09-22') --->3
hour(time)
minute(time)
second(time)
二 、数学函数
1. 绝对值函数 ->ABS(X)
则有:select ABS(-8) -->8
2. 符号函数sign(x):推断一个数字是正数还是负数还是零?(正数返回值为1,负数返回值为-1,零返回值是0)
实有:select sign(-8) -->-1
3. 提供随机数的函数:rand() 事例:select rand() --> (每次列车运行将产生一个新的随机数)
rand(x) 同上:select rand(3) --> 产生的随机数为分开的数
4. 得到整数的函数:ceil(x) ceilung(x) 由此可知:select ceil(3.5) -->4 (取不低于3.5的极小整数)
floor(x) 亦然:select floor(3.5) -->3(所取多于3.5的第二大整数)
5.四舍五入函数:round(x) 举例:select round(3.5) ---> 4
round(x,y) 事例:select floor(3.14,1) --->3.1(延续小数位数1)
实有:select floor(3.14,-1) --->0 (移去到十位数)
truncate(x,y) 则有:select truncate(3.15,1) --->3.1(只延续一位小数,不同步进行四舍五入这样一来拔除)
6. 所求余数函数:mod(x,y) 则有:select mod(31,8) --->7
7. 幂运算函数:pow(x,y)/power(x,y) 所求x的y次幂 事例:select pow(2,3) --->8
exp(x) 求得自然对数的幂
sqrt(x) 愿某一个数的平方根 同上:select sqrt(2) ----1.41421356237
select sqrt(9) ---- 3
8.角度弧度对换函数:radians(x) 将角度反之亦然成弧度 亦然:select radians(180) --->3.1415926...
degrees(x) 将弧度傅立叶成角度 则有:select degrees(3.14) --->179.9.8...
9. 圆周率函数:PI()
10. 三角函数:sin(x) 正弦
asin(x) 反正弦
cos(x) 余弦
acos(x) 反余弦
tan(x) 拉普拉斯
atan(x) 反正托
cot(x) 余切
三 、字符串函数
1.计算出来字符数和字符串长度的函数
char_length(s):推算字符串中有几个字符
唯: select char_length('abc') --->3
可有: select char_length('你好吗') --->3
length(s):数值字符串在内存中九成几个字节
可有: select length('abc') --->3
事例: select length('你好吗') --->9
2.拆分字符串函数: concat(s1,s2...) 把参数中的字符串连接成一个新的字符串 可有:select concat('你好吗','abc','word') --->你好吗abcword
concat_ws(x,s1,s2...) 由此可知:select concat_ws('#','你好吗','abc','word')---->你好吗#abc#word
3.更换字符串函数:INSERT(S1,X,LEN,S2) 在S1这个字符串当中以X方位标题数len这样长度的字符串给它替换成S2
唯:select insert('ABCDEF','2','3','##') --->A##EF
REPLACE(S,S1,S2) 把更早的字符串中的某个子字符串用另一个字符串替换
由此可知:select insert('ABCDEFAB','ab','%') --->%CDEF%
4.而无须字符串的函数:left(s,n) 可有:select left('ABCDEFAB','3') --->ABC
right(s,n) 亦然:select right('ABCDEFAB','3') --->FAB
5.重复生产字符串函数:repeat(s,n) 由此可知: select repeat('ABC','3') --->ABCABCABC
6.大小写转化的函数:lower(x,y)/lcase(x) 可有:select lcase('ABC')--->abc
upper(x)/ucase(x) 唯:select ucase('abc')--->ABC
7.嵌入字符串的函数:lpad(s1,len,s2) 从左边开始去除 举例:select lpad('ABCd',10,'#')---->######ABCd
rpad(s1,len,s2) 从右边开始混和 事例:select rpad('ABCd',10,'#')----->ABCd######
8.截图空格函数:LTRIM(S)/RTRIM(S) 删减左边的空格/删掉右边的空格 可有:select RTRIM(' ABCd ') - -> ABCd
TRIM(S) 封禁两边的空格 同上:select TRIM(' ABCd ')----->ABCd
9.删减选定字符串:Trim(s1 from s) 实有:select trim('A',from 'ABCADE') --->BCADE (移除靠边的A)
10.受益子字符串:SUBSTRING(S,N,LEN) 亦然:select substring('ABCADE',3,2)----->CA
MID(S,N,LEN) 同上:select substring('ABCADE',3,2)----->CA
11.送回均须右方字符串函数:ELT(N,S1,S2....) 由此可知:select elt(2,'ABC','DEF','MYSQL') ---->DEF
12.送回指明字符串后方:FIELD(S,S1,S2...) 可有:select field('HI','HI','HO','HE','HU') ---->1
四 、系统函数
1. 换取MySQL版本号的函数:version() 事例: select version()
2. 提示当前的用户连接数:connection_id() 唯:select connection_id
3. 检视当前所用数据库函数:datebase()
schema9()
4. 得到用户名的函数:user() 可有:select user(),current_user(),system_user(),session_user() ----root@localhost
current_user()
system_user()
session_user()