zoukankan      html  css  js  c++  java
  • MySQL常用函数

    一、数学函数
      数学函数主要用于处理数字,包括整型、浮点数等。

    ABS(x)
    返回x的绝对值  

    SELECT ABS(-1) -- 返回1

    CEIL(x),CEILING(x)
    返回大于或等于x的最小整数  

    SELECT CEIL(1.5) -- 返回2

    FLOOR(x)
    返回小于或等于x的最大整数  

    SELECT FLOOR(1.5) -- 返回1

    RAND()
    返回0->1的随机数  

    SELECT RAND() --0.93099315644334

    RAND(x)
    返回0->1的随机数,x值相同时返回的随机数相同  

    SELECT RAND(2) --1.5865798029924

    PI()
    返回圆周率(3.141593)  

    SELECT PI() --3.141593

    TRUNCATE(x,y)
    返回数值x保留到小数点后y位的值(与ROUND最大的区别是不会进行四舍五入)  

    SELECT TRUNCATE(1.23456,3) -- 1.234

    ROUND(x,y)
    保留x小数点后y位的值,但截断时要进行四舍五入  

    SELECT ROUND(1.23456,3) -- 1.235

    POW(x,y).POWER(x,y)
    返回x的y次方  

    SELECT POW(2,3) -- 8

    SQRT(x)
    返回x的平方根  

    SELECT SQRT(25) -- 5

    EXP(x)
    返回e的x次方  

    SELECT EXP(3) -- 20.085536923188

    MOD(x,y)
    返回x除以y以后的余数  

    SELECT MOD(5,2) -- 1

    二、字符串函数
      字符串函数是MySQL中最常用的一类函数,字符串函数主要用于处理表中的字符串。

    函数 说明

    CHAR_LENGTH(s)
    返回字符串s的字符数

    SELECT CHAR_LENGTH('你好123') -- 5

    CONCAT(s1,s2,...)
    将字符串s1,s2等多个字符串合并为一个字符串

    SELECT CONCAT('12','34') -- 1234

    CONCAT_WS(x,s1,s2,...)
    同CONCAT(s1,s2,...)函数,但是每个字符串直接要加上x

    SELECT CONCAT_WS('@','12','34') -- 12@34

    INSERT(s1,x,len,s2)
    将字符串s2替换s1的x位置开始长度为len的字符串

    SELECT INSERT('12345',1,3,'abc') -- abc45

    UPPER(s),UCAASE(S)
    将字符串s的所有字母变成大写字母

    SELECT UPPER('abc') -- ABC

    LOWER(s),LCASE(s)
    将字符串s的所有字母变成小写字母

    SELECT LOWER('ABC') -- abc

    LEFT(s,n)
    返回字符串s的前n个字符

    SELECT LEFT('abcde',2) -- ab

    RIGHT(s,n)
    返回字符串s的后n个字符

    SELECT RIGHT('abcde',2) -- de

    LTRIM(s) 去掉字符串s开始处的空格
    RTRIM(s) 去掉字符串s结尾处的空格
    TRIM(s) 去掉字符串s开始和结尾处的空格
    SELECT TRIM('@' FROM '@@abc@@') -- abc

    REPEAT(s,n)
    将字符串s重复n次

    SELECT REPEAT('ab',3) -- ababab

    SPACE(n) 返回n个空格

    REPLACE(s,s1,s2)
    将字符串s2替代字符串s中的字符串s1

    SELECT REPLACE('abca','a','x') --xbcx

    STRCMP(s1,s2) 比较字符串s1和s2

    SUBSTRING(s,n,len) 获取从字符串s中的第n个位置开始长度为len的字符串

    LOCATE(s1,s),POSITION(s1 IN s)
    从字符串s中获取s1的开始位置

    SELECT LOCATE('b', 'abc') -- 2

    REVERSE(s)
    将字符串s的顺序反过来

    SELECT REVERSE('abc') -- cba

    FIELD(s,s1,s2...)
    返回第一个与字符串s匹配的字符串位置

    SELECT FIELD('c','a','b','c') -- 3

    三、日期时间函数
      MySQL的日期和时间函数主要用于处理日期时间。

    函数 说明

    CURDATE(),CURRENT_DATE()
    返回当前日期

    SELECT CURDATE()
    ->2014-12-17

    CURTIME(),CURRENT_TIME
    返回当前时间

    SELECT CURTIME()
    ->15:59:02


    NOW(),CURRENT_TIMESTAMP(),LOCALTIME(),

    SYSDATE(),LOCALTIMESTAMP()

    返回当前日期和时间

    SELECT NOW()
    ->2014-12-17 15:59:02

    YEAR(d),
    MONTH(d)
    DAY(d)
    返回日期d中的月份值,1->12

    SELECT MONTH('2011-11-11 11:11:11')
    ->11

    MONTHNAME(d)
    返回日期当中的月份名称,如Janyary

    SELECT MONTHNAME('2011-11-11 11:11:11')
    ->November

    DAYNAME(d)
    返回日期d是星期几,如Monday,Tuesday

    SELECT DAYNAME('2011-11-11 11:11:11')
    ->Friday

    DAYOFWEEK(d)
    日期d今天是星期几,1星期日,2星期一

    SELECT DAYOFWEEK('2011-11-11 11:11:11')
    ->6

    WEEKDAY(d)
    日期d今天是星期几,

    0表示星期一,1表示星期二

    WEEK(d),WEEKOFYEAR(d)
    计算日期d是本年的第几个星期,范围是0->53

    SELECT WEEK('2011-11-11 11:11:11')
    ->45

    DAYOFYEAR(d)
    计算日期d是本年的第几天

    SELECT DAYOFYEAR('2011-11-11 11:11:11')
    ->315

    DAYOFMONTH(d)
    计算日期d是本月的第几天

    SELECT DAYOFMONTH('2011-11-11 11:11:11')
    ->11

    QUARTER(d)
    返回日期d是第几季节,返回1->4

    SELECT QUARTER('2011-11-11 11:11:11')
    ->4

    HOUR(t)
    返回t中的小时值

    SELECT HOUR('1:2:3')
    ->1

    MINUTE(t)
    返回t中的分钟值

    SELECT MINUTE('1:2:3')
    ->2

    SECOND(t)
    返回t中的秒钟值

    SELECT SECOND('1:2:3')
    ->3


    四、系统信息函数
      系统信息函数用来查询MySQL数据库的系统信息。

    函数 作用
    VERSION()
    返回数据库的版本号

    SELECT VERSION()
    ->5.0.67-community-nt

    CONNECTION_ID() 返回服务器的连接数
    DATABASE()、SCHEMA 返回当前数据库名
    USER()、SYSTEM_USER()
    返回当前用户

    五、加密函数
      加密函数是MySQL用来对数据进行加密的函数。

      1、PASSWORD(str)

      该函数可以对字符串str进行加密,一般情况下,PASSWORD(str)用于给用户的密码加密。

    SELECT PASSWORD('123')
    ->*23AE809DDACAF96AF0FD78ED04B6A265E05AA257
      2、MD5

      MD5(str)函数可以对字符串str进行散列,可以用于一些普通的不需要解密的数据加密。

    SELECT md5('123')
    ->202cb962ac59075b964b07152d234b70

      3、ENCODE(str,pswd_str)与DECODE(crypt_str,pswd_str)

      ENCODE函数可以使用加密密码pswd_str来加密字符串str,加密结果是二进制数,需要使用BLOB类型的字段保存。该函数与DECODE是一对,需要同样的密码才能够解密。

    SELECT ENCODE('123','xxoo')
    ->;vx
    SELECT DECODE(';vx','xxoo')
    ->123


    insert into login values('lch','alvin',encode('123','xxoo'),'50')


    select Name,decode(Password,'xxoo') from login where username='lch'

  • 相关阅读:
    vue自定义指令
    ZOJ Problem Set–2104 Let the Balloon Rise
    ZOJ Problem Set 3202 Secondprice Auction
    ZOJ Problem Set–1879 Jolly Jumpers
    ZOJ Problem Set–2405 Specialized FourDigit Numbers
    ZOJ Problem Set–1874 Primary Arithmetic
    ZOJ Problem Set–1970 All in All
    ZOJ Problem Set–1828 Fibonacci Numbers
    要怎么样调整状态呢
    ZOJ Problem Set–1951 Goldbach's Conjecture
  • 原文地址:https://www.cnblogs.com/fangchongyan/p/5151096.html
Copyright © 2011-2022 走看看