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

ABS(X) 返回x的绝对值

SELECT ABS(-1)--返回1

CEll(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) X值相同返回的随机数相同

SELECT RAND(2)  --1.5865798029924

PI()  返回圆周率(3.141593)

SELECT PI() --3.141593

TRUNCAT(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,....) 函数,但是每个字符串直接要加上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) 将字符串S中的字符串s1换成字符串S2

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) 返回日期当中的月份名称,如january

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

DAOFMONTH(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 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 ENCODE(':VX','XXOO')-->123

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

select Name,decode(pssword,'xxoo')from login where username='1ch'

2016/3/17 Mysq select 数学函数 字符串函数 时间函数 系统信息函数 加密函数的更多相关文章

  1. Go 从入门到精通(三)字符串,时间,流程控制,函数

    一.strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirn ...

  2. golang基础之三-字符串,时间,流程控制,函数

    strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirngs ...

  3. Delphi 时间函数:关于时间精确的几个函数和方法

    //取毫秒级时间精度(方法一): var t1,t2:int64; r1:int64; begin t1:=GetTickCount;//获取开始计数 WINDOWS API sleep(1000); ...

  4. 你好,C++(28)用空间换时间 5.2 内联函数 5.3 重载函数

    5.2  内联函数 通过5.1节的学习我们知道,系统为了实现函数调用会做很多额外的幕后工作:保存现场.对参数进行赋值.恢复现场等等.如果函数在程序内被多次调用,且其本身比较短小,可以很快执行完毕,那么 ...

  5. [Swift]LeetCode636. 函数的独占时间 | Exclusive Time of Functions

    Given the running logs of n functions that are executed in a nonpreemptive single threaded CPU, find ...

  6. Leetcode 636.函数的独占时间

    函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用. 日志是具有以下格式的字 ...

  7. Java实现 LeetCode 636 函数的独占时间(栈)

    636. 函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用. 日志是具有以 ...

  8. javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数

    javascript函数一共可分为五类:    ·常规函数    ·数组函数    ·日期函数    ·数学函数    ·字符串函数    1.常规函数    javascript常规函数包括以下9个 ...

  9. MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)

    一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...

随机推荐

  1. Crossed Ladders 求街道宽度 (二分法)

    Description A narrow street is lined with tall buildings. An x foot long ladder is rested at the bas ...

  2. 使用JQuery.slideBox实现图片滚动效果

    1.下载JQuery.slideBox和jquery插件,并引用 <link href="css/jquery.slideBox.css" rel="stylesh ...

  3. SPOJ LCS2 多个串的最长公共子串

    这里串最多有10个,找所有串的最长公共子串 这里后缀自动机做,以第一个串建立后缀自动机,后面的串一个个去匹配,每次得到当前串在可到达状态上所能得到的最长后缀长度 拿所有串匹配后得到的结果进行计算 #i ...

  4. [Baltic2007]序列问题Sequence

    Time Limit: 5 Sec  Memory Limit: 162 MBSubmit: 1002  Solved: 535[Submit][Status][Discuss] Descriptio ...

  5. CF830B:Cards Sorting

    对叠放着的n张牌,第i张牌写有数字Ai,进行操作:将牌堆顶的牌取出,若是当前牌堆最小值就扔掉,否则放到牌堆底,求牌堆空时操作次数. 怎么看怎么像约瑟夫..不过约瑟夫DP我不太熟,于是就yy了一下 “当 ...

  6. JS获取服务器时间并且计算距离当前指定时间差的函数

    项目中遇到了从服务器获取时间,现在记录一下方便以后查询: 1.后台代码:(创建一个date对象并以JSON的形式返回去) // 获取服务器时间 public String getNowServerTi ...

  7. 希尔排序(shell)

    希尔排序: 思路: 希尔排序是插入排序的一种改进的版本. 先将整个待排序记录序列分割成若干个子序列,在在序列内分别进行直接插入排序,待整个序列基本有序时,再对全体记录进行一次直接插入排序. 这里增量序 ...

  8. 实验二:编写输出“Hello word!”

    一:编写输出“Hello word!” 1.运行eclipse,在project name中输入要创建的项目名称. 2.创建java类,点击File->New->Class,在弹出窗口中N ...

  9. Java实验--课上提到的随机数生成原理简单实现(不利用库生成随机数的简单算法)

    对于随机数的实验,根据课程上的教程,有如下的公式: 对应的变量参数的说明: 其中对应的Mouduls变量对应的就是公式中a的值,在公式中的含义就是相当于要循环多少个数才重复的一个值. Multipli ...

  10. Java的对象和类

    以下内容引用自http://wiki.jikexueyuan.com/project/java/object-classes.html: 一.概述 Java是一种面向对象的语言.作为一种具有面向对象特 ...