MySQL基础--MySQL函数

一:数学函数

  • 绝对值函数ABS(X):select ABS(2),ABS(-3.4);
  • 返回圆周率值:select pi();
  • 返回非负数x的二次方根 :select SQRT(9),SQRT(40);
  • 求余运算:SELECT MOD(31,8),MOD(34,7);
  • 返回不小于x的最小整数值:SELECT CEIL(-3.5),CEILING(-3.5);
  • 返回不大于X的最大整数值,返回值为bigint:select FLOOR(-3.35),FLOOR(4);
  • 返回一个随机浮点值,范围在0~1之间 SELECT RAND();
  • RAND(X)相同x返回的随机值相同
  • 四舍五入函数ROUND(X),ROUND(X,Y),  【保留小数点y位】
  • TRUNCATE(X,Y) 直接截取值,不进行四舍五入
  • 返回参数的符号,sign(x),x的值为负,零,或正时返回结果依次为-1,0,1
  • Pow(x,y)或者power(x,y)函数返回x的y次乘方的结果值

Exp(x)返回e的x乘方后的值

  • Log(x)返回x的自然对数,x相对于基数e的对数

Log10(x)返回x的基数为10的对数

  • Randians(x)将参数由角度转换为弧度

Degrees(x)将参数x由弧度转换为角度

  • Sin(x)返回正弦,其中x为弧度值

Asin(x)返回x的反正弦,即正弦为x的值

  • Cos(x)返回x的余弦,其中X为弧度值

Acos(x)返回x的反余弦,即余弦是x的值

  • Tan(x)返回x的正切,其中X为给定的弧度值

Atan(x)返回x的反正切,即正切为x的值

  • Cot(x)返回x的余切

二、字符串函数

1)char_length(str)返回值为字符串str所包含的字符个数

Length(str)返回值为字符串的字节长度,一个汉字是3个字节,一个数字或字母是1个字节

2)concat(s1,s2….)返回结果为连接参数产生的字符串,若有任何一个参数为null,则返回值为null

  Concat_ws(x,s1,s2,…)返回结果为连接字符串第一个参数x是其他参数的分隔符,若分隔符为null,则结果为null;

3)insert(s1,x,len,s2)返回字符串s1,其子字符串起始于x位置和被字符串s2取代的len字符,若任何一个参数为null,则返回值为null

4)lower(str)或者lcase(str)可以将字符串str中的字母字符全部转换为小写字母

   Upper(str)或者ucase(str)可以将字符串str中的字母字符全部转换成大写字母

5)left(s,n)返回字符串s开始的最左边n个字符

     Right(s,n)返回字符串str最右边n个字符

6)lpan(s1,len,s2)返回字符串s1,其左边由字符串s2填补到len字符长度

     Rpan(s1,len,s2)返回字符串是s1,其右边由字符串s2填补至len字符长度

7)ltrim(s)返回字符串s,字符串左侧空格字符被删除

     Rtrim(s)返回字符串s,字符串右侧空格字符被删除

Trim(s)删除字符串s两侧的空格

8)trim(s1 from s )删除字符串s中两端(中间不删)所有的子字符串s1,(未指定s1情况下默认删除空格)

9)repeat(s,n)返回一个由重复的字符串s组成的字符串,字符串s的数目等于n。若n<=0,则返回一个空字符串,若s或n为null,则返回null

10)space(n)返回一个由n个空格组成的字符串

Replace(s,s1,s2)使用字符串s2替代字符串s中所有的字符串s1

11)strcmp(s1,s2)比较字符串大小,若所有的字符串均相同,则返回0;若根据当前分类次序,第一个参数小于第二个,则返回-1,其他情况返回1

12)subtring(s,n,len)或mid(s,n,len)带有len参数的格式,从字符串s返回一个长度同len字符相同的子字符串,起始于位置n

13)locate(str1,str),position(str1 in str)和inster(str,str1)3个函数作用相同,返回子字符串str1在字符串str中开始的位置

14)reverse(s)将字符串s反转,返回的子字符串的顺序和s字符串顺序相反

15)elt(n,str1,str2,。。。)若n=1,则返回值为str1,若n=2,则返回值为str2,以此类推,若n小于1或者大于参数的数目,则返回值为null

16)field(s,s1,s2)返回子字符串s在列表s1,s2,…中第一次出现的位置。在找不到s的情况下,返回值为0,若s为null,则返回值0

17)find_in_set(s1,s2)返回字符串s1在字符串列表s2中出现的位置

18)make_set(x,s1,s2,…)返回由x的二进制指定的相应位的字符串组成的字符串

三、日期和时间函数

       1)curdate()和current_date()函数作用相同,将当前日期按照“YYYY-MM-DD”或“YYYYMMDD”格式的值返回

       Curtime()和curre_time()函数作用相同,将当前时间以“HH:MM:SS”或“HHMMSS”格式返回

       2)current_timestamp(),localtime(),now()和sysdate()4个函数的作用相同,均返回当前日期和时间值,格式为“YYYY-MM-DD HH:MM:SS”或”YYYYMMDDHHMMSS”

       3)unix_timestamp(date)若无参数调用,则返回一个unix时间戳

         From_unixtime(data)函数把unix时间戳转换为普通格式的时间

       4)utc_date()函数返回当前utc(世界标准时间)日期值,格式为“YYYY-MM-DD”或“YYYYMMDD”

          Utc_time()返回当前utc时间值

       5)month(date)返回date对应的月份,范围值从1~12

          Monthname(date)函数返回日期date对应月份的英文全名

       6)dayname(date)返回d对应的工作日的英文名称‘

            Dayofweek(date)返回date对应一周的索引位置,1表示周日,2表示周一,7表示周六

            Weekday(date)返回date对应的工作日索引,0表示周一,1表示周二,6表示周日

       7)week(d)计算日期d是一年中的第几周,week()的双参数形式允许指定该星期是否起始于周日或者周一。以及返回               值的范围是否为从0~53或从1~53.默认第一天周日

           Weekofyear(date)计算某天位于一年中的第几周,范围从1~53,相当于week(d,3)

       8)dayofyear(d)函数返回d是一年中的第几天,范围从1~366

          Dayofmonth(d)函数返回d是一个月中的第几天,范围从1~31

       9)year(date)返回date对应的年份,范围是1970-2069

          Quarter(date)返回date对应的一年中的季度值,范围1-4

         Minute(time)返回time对应的分钟数,范围是从0~59

        Second(time)返回time对应的秒数,范围是从0-59

     10)extract(type from date)函数所使用的时间间隔类型说明符同date_add()或date_sub()的相同,但他是从日期中提取一  部分,而不是执行日期运算

      11)time_to_sec(time)返回已转化为秒的time参数。转换式:小时*3600+分钟*60+秒

         Sec_to_time(seconds)返回被转化为小时,分钟,和秒数的seconds参数值,格式为“HH:MM:SS”或“HHMMSS

    12)计算日期和时间的函数

        Date_add(),adddate(),date_sub(),subdate(),addtime(),subtime()和date_dief()—间隔天数

     13)date_format(date,format)根据format指定的格式显示date值

              Time_format(time,format)根据format字符串安排time值的格式

Get_format(val_type,format_type)返回日期时间字符串的显示格式,val_type表示日期数据类型,format_type表示格式化显示类型

四、 条件判断函数

       1)if(expr,v1,v2)表示若表达式expr是true,则if()的返回值为v1,否则返回v2

       2)ifnull(v1,v2)表示若v1不为null,则ifnull()的返回值为v1,否则返回值为v2

       3)case expr when v1 then r1[when v2 then r2][else rn] end 表示如果expr值等于某个vn,则返回对应位置then后面结果,           若所有值都不等,则返回else后面的rn

五、系统信息函数

       1)version()返回知识MySQL服务器版本号

          connection_id()查看用户的连接数

       2)user(),current_user(),current_user,system_user()和session_user()返回当前被MySQL服务器验证的用户名和主机名              组 合

       3)charset(str)返回字符串str自变量的字符集

       Collation(str)返回字符串str的字符排列方式

      4)last_insert_id()自动返回最后一个insert或者update为auto_increment列设置的第一个发生的值

六、 加密函数

1)password(str)从原明文密码str计算返回加密后的密码字符串,当参数为null时,返回null

        MD5(str)

        Endcode(str,pswd-str)使用pswd-str作为密码,加密str

        Decode(crypt_str,pswd_str)使用pswd_str作为密码,解密加密字符串crypt_str

七、其他函数

       1)格式化函数format(x,n)将数字x格式化,并以四舍五入的方式保留小数点后n位,结果以字符串的形式返回

       2)conv(n,from_base,to_base)函数进行不同进制数间的转换

       3)inet_aton(expr)给出一个作为字符串的网络地址的点地址表示,返回一个代表该地址数值的整数,反函数—inet_aton(expr)

       4)get_lock(str,timeout)设法使用字符串str给定的名字得到一个锁,超时未timeout秒

       5)benchmark(count,expr)函数重复count次执行表达式expr

       6)convert(…using…)带有using的convert()函数被用来在不同的字符集之间转换数据

       7)cast(x,as type)和convert(x,type)函数将一个类型的值转换为另一个类型的值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值