MySql常用函数

1. 字符串函数

1:任何字符串和NULL连接结果都是NULL 如下

2:下⾯的例⼦把字符串“beijing2018you”中从第12个字符开始以后的3个字符替换 成“me”。

3:在字符串⽐较中,通常要将⽐较的字符串全部转换为⼤写或者⼩写

4:LEFT(str,x)和RIGHT(str,x)函数:分别返回字符串最左边的x个字符和最右边的x个字符。如果第⼆个参数是

NULL,那么将不返回任何字符串。

5:LPAD(str,n,pad)和RPAD(str,n,pad)函数:⽤字符串pad对str最左边和最右边进⾏填充,直到长度为n个字符长度

6:LTRIM(str)和RTRIM(str)函数:去掉字符串str左侧和右侧空格。

7:TRIM(str)函数:去掉⽬标字符串的开头和结尾的空格。

8:REPEAT(str,x)函数:返回str重复x次的结果。

9:REPLACE(str,a,b)函数:⽤字符串b替换字符串str中所有出现的字符串a。

10:STRCMP(s1,s2)函数:⽐较字符串s1和s2的ASCII码值的⼤⼩。

11:SUBSTRING(str,x,y)函数:返回从字符串str中的第x位置起y个字符长度的字串。

2. 数值函数

1:ABS(x)函数:返回x的绝对值。

2:CEIL(x)函数:返回⼤于x的最⼩整数。

3:FLOOR(x)函数:返回⼩于x的最⼤整数,和CEIL的⽤法刚好相反。

4:MOD(x,y)函数:返回x/y的模。

5:RAND()函数:返回0~1内的随机值。

利⽤此函数可以取任意指定范围内的随机数,⽐如需要产⽣ 0~100 内的任意随机 整数,可以进⾏如下操作

6:ROUND(x,y)函数:返回参数x的四舍五⼊的有y位⼩数的值。

7:TRUNCATE(x,y)函数:返回数字x截断为y位⼩数的结果。

注意TRUNCATE和ROUND的区别在于TRUNCATE仅仅是截断,⽽不进⾏四舍五⼊

3. ⽇期和时间函数

1:CURDATE()函数:返回当前⽇期,只包含年⽉⽇。

2:CURTIME()函数:返回当前时间,只包含时分秒。

3:NOW()函数:返回当前的⽇期和时间,年⽉⽇时分秒全都包含。

4:WEEK(DATE)和 YEAR(DATE)函数:前者返回所给的⽇期是⼀年中的第⼏周,后者返回所给的⽇期是哪⼀年。

5:HOUR(time)和MINUTE(time)函数:前者返回所给时间的⼩时,后者返回所给时间的分钟。

6:DATE_FORMAT(date,fmt)函数:按字符串  fmt  格式化⽇期  date  值,此函数能够按指定的格式显⽰⽇期

7:DATE_ADD(date,INTERVAL expr type)函数:返回与所给⽇期date相差 INTERVAL时间段的⽇期。

其中INTERVAL是间隔类型关键字,expr是⼀个表达式,这个表达式对应后⾯的 类型,   type是间隔类型,MySQL提供了13种间隔类型

8:同样也可以⽤负数让它返回之前的某个⽇期时间,如下第1列返回了当前⽇期时间,第2列返回距离当前⽇期31天前的⽇期时间,第3列返回距离当前⽇期⼀年两个⽉前的⽇期时间,跟上面的意思相反

 

9:DATEDIFF(date1,date2)函数:⽤来计算两个⽇期之间相差的天数。 下⾯的例⼦计算出当前距离2020年3⽉1⽇学校毕业还有多少天

4.流程函数

用户可以使用这类函数在一个SQL语句中实现条件选择,这样做能够提⾼语句的效率。

1:下⾯的例⼦中模拟了对职员薪⽔进⾏分类,这⾥⾸先创建并初始化⼀个职员薪⽔

create table salary (userid int,salary decimal(9,2)); 

insert into salary values(1,1000),(2,2000), (3,3000),(4,4000),(5,5000), (1,null);

IF(value,t,f)函数:这⾥认为⽉薪在2000元以上的职员属于⾼薪,⽤“high”表⽰;⽽2000元以下的职员属于低 薪,⽤“low”表⽰。

 select if(salary>2000, 'high', 'low') from salary;

2:IFNULL(value1,value2)函数:这个函数⼀般⽤来替换 NULL 值,我们知道 NULL 值是不能参与数值运算的, 下⾯这个语句就是把NULL值⽤0来替换

select ifnull(salary,0) as salary from salary;

3:CASE  WHEN  [value1]  THEN[result1]…ELSE[default]END函数:这⾥也可以⽤  case when…then函数实现上⾯例

⼦中⾼薪低薪的问题。

4:CASE  [expr]  WHEN  [value1]  THEN[result1]…ELSE[default]END函数:这⾥还可以分多种情况把职员的薪⽔分

多个档次,⽐如下⾯的例⼦分成⾼、中、低3种情况

5.其他常⽤函数

1:DATABASE()函数:返回当前数据库名。

 select DATABASE();

2:VERSION()函数:返回当前数据库版本。

select VERSION();

3:USER()函数:返回当前登录⽤户名。

 select USER();

4:PASSWORD(str)函数:返回字符串str的加密版本,⼀个41位长的字符串。此函数只⽤来设置系统⽤户的密码,但是不能⽤来对应⽤的数据加密。如果应⽤⽅⾯有加密的需求,可以使⽤MD5等加密函数来实现

select PASSWORD('123456');

5:MD5(str)函数:返回字符串str的MD5值,常⽤来对应⽤中的数据进⾏加密。

 select MD5('123456');  

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值