2016/3/17 Mysq select 数学函数 字符串函数 时间函数 系统信息函数 加密函数
一,数学函数主要用于处理数字,包括整型、浮点数等。
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 数学函数 字符串函数 时间函数 系统信息函数 加密函数的更多相关文章
- Go 从入门到精通(三)字符串,时间,流程控制,函数
一.strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirn ...
- golang基础之三-字符串,时间,流程控制,函数
strings和strconv的使用 strings strings.HasPrefix(s string,preffix string) bool:判断字符串s是否以prefix开头 stirngs ...
- Delphi 时间函数:关于时间精确的几个函数和方法
//取毫秒级时间精度(方法一): var t1,t2:int64; r1:int64; begin t1:=GetTickCount;//获取开始计数 WINDOWS API sleep(1000); ...
- 你好,C++(28)用空间换时间 5.2 内联函数 5.3 重载函数
5.2 内联函数 通过5.1节的学习我们知道,系统为了实现函数调用会做很多额外的幕后工作:保存现场.对参数进行赋值.恢复现场等等.如果函数在程序内被多次调用,且其本身比较短小,可以很快执行完毕,那么 ...
- [Swift]LeetCode636. 函数的独占时间 | Exclusive Time of Functions
Given the running logs of n functions that are executed in a nonpreemptive single threaded CPU, find ...
- Leetcode 636.函数的独占时间
函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用. 日志是具有以下格式的字 ...
- Java实现 LeetCode 636 函数的独占时间(栈)
636. 函数的独占时间 给出一个非抢占单线程CPU的 n 个函数运行日志,找到函数的独占时间. 每个函数都有一个唯一的 Id,从 0 到 n-1,函数可能会递归调用或者被其他函数调用. 日志是具有以 ...
- javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数
javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个 ...
- MYSQL 常用函数(数学、字符串、日期时间、系统信息、加密)
一.数学函数 数学函数主要用于处理数字,包括整型.浮点数等. ABS(x) 返回x的绝对值 SELECT ABS(-1) -- 返回1 CEIL(x),CEILING(x) 返回大于或等于x的最小整数 ...
随机推荐
- windows文件备份到linux:windows定时任务+cwrsync+ssh免密码认证
一.安装cwrsync 二.创建密钥对,实现ssh免密码验证 linux服务器上 [root@zabbix ~]# ssh-keygen Generating public/private rsa k ...
- linux 服务器 php vue项目部署流程总结
服务器配置 购买阿里云服务器 (选择ubuntu 16系统 / 内存2G以上) 安全策略, 入规则: 添加端口 20,21,22, 80, 443, 3306, 8080, 安装宝塔 wget -O ...
- 剑指Offer(书):替换空格
题目:请实现一个函数,将一个字符串中的每个空格替换成“%20”.例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy. 分析:通常来说,这样的题有两种方式 ...
- zoj 2736 Daffodil number
Daffodil number Time Limit: 2 Seconds Memory Limit: 65536 KB The daffodil number is one of the ...
- POJ-Crazy tea party,很好的一道数学题~~~
Crazy tea party Time Limit: 1000MS Memory Limit: 10000K Description n participants of <& ...
- Kubernetes集群中修复状态为NotReady的节点
度个假回来发现自己集群中的节点都挂了,全部是NotReady状态 但是除了.10节点外,其他主机并没有挂,可以远程连接上, 那就考虑是kubernetes系统的问题 解决的方法是重启kube-prox ...
- java web 项目常用框架
java框架实在是太多了,网上一搜索一大箩筐,根本就了解不到什么. 我还是以我的经验来说一下j2ee的框架. 1.首先力推struts2框架,这是最经典的框架(可以说没有“之一”).可以帮你快速搭建出 ...
- eclipse pom.xml 报错org.apache.maven.plugin.war.WarMojo的解决办法
如题,maven项目eclipse提示pom.ml有错,提示信息就是org.apache.maven.plugin.war.WarMojo. 然后执行 maven install 出现如下错误提示 [ ...
- C#.net中当地址有中文时,图片无法显示解决方法
原文发布时间为:2008-11-05 -- 来源于本人的百度文章 [由搬家工具导入] 搞了半天都无法正常显示图片, string path = Server.MapPath("." ...
- 希尔排序(shell)
希尔排序: 思路: 希尔排序是插入排序的一种改进的版本. 先将整个待排序记录序列分割成若干个子序列,在在序列内分别进行直接插入排序,待整个序列基本有序时,再对全体记录进行一次直接插入排序. 这里增量序 ...