zoukankan      html  css  js  c++  java
  • MySQL数据库—日期与时间函数

    一、 日期和时间函数

    函数的概念:按指定格式输入参数,返回正确结果的运算单元

    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()

  • 相关阅读:
    为什么需要多重继承?它的优缺点是什么?
    delete
    链表环状检测主要有三种方法
    常见和链表相关的算法
    二分查找算法
    找出两个字符串中最长的相同子字符串
    链表创建打印删除
    python项目
    hadoop博客 oschina
    用shell写个100以内的所有数字之和
  • 原文地址:https://www.cnblogs.com/jly144000/p/7392041.html
Copyright © 2011-2022 走看看