Mysql函数应用

字符串函数

一.CONCAT(s1,s2…sn) 合并字符串

函数:CONCAT(s1,s2…sn)
描述:字符串 s1,s2 等多个字符串合并为一个字符串
实例:

select concat('传智播客','-','黑马程序员');
SELECT CONCAT(user_test.`address`,user_test.`name`) FROM user_test;
SELECT CONCAT(ut.name,ut.address) FROM user_test ut;

二.CHAR_LENGTH(str) 返回str字符数

函数:CHAR_LENGTH(str)
描述:返回字符串 str 的字符数
实例:

select char_length('你好,树先生');
SELECT CHAR_LENGTH(us.name),CHAR_LENGTH(us.address) FROM user_test us;

三.LENGTH(str) 返回字符串s的字节数

函数:LENGTH(str)
描述:返回字符串 s 的字节数
编码:UTF8(一个中文字符占3个字节
实例:

select length('你好,树先生h');
SELECT LENGTH(ut.name),LENGTH(ut.address) FROM user_test ut;

四.UCASE(s) 或 UPPER(s) 字符串转大写

函数:UCASE(s) | UPPER(s)
描述:将字符串转换为大写
实例:

select ucase('itcast');
SELECT UCASE(ut.name),UCASE(ut.address) FROM user_test ut;
SELECT UPPER(ut.name),UPPER(ut.address) FROM user_test ut;

五.LCASE(s) 或 LOWER(s) 字符串转小写

函数:LCASE(s) | LOWER(s)
描述:将字符串转换为小写
实例:

select lcase('ITHEIMA');
SELECT LCASE(ut.name),LCASE(ut.address) FROM user_test ut;
SELECT LOWER(ut.name),LOWER(ut.address) FROM user_test ut;

六.LOCATE(s1,s) 获取字符串起始位置

函数:LOCATE(s1,s)
描述:从字符串 s 中获取 s1 的开始位置
注意:从1开始
实例:

select locate('hei','itheima');
SELECT LOCATE('世界','万物归真世界大同');
SELECT LOCATE('省',ut.address) FROM user_test ut;

七.TRIM/LTRIM/RTRIM字符串去空格

函数:
TRIM(str) 去除两侧的空格
LTRIM(str) 去除左侧的空格
RTRIM(str) 去除右侧的空格
描述:字符串去空格
实例:

select trim('   莘莘学子    ');
SELECT TRIM(ut.name) FROM user_test ut;

八.REPLACE(s,s1,s2) 字符串替换

  1. 函数:REPLACE(s,s1,s2)
    描述:将字符串 s2 替代字符串 s 中的字符串 s1
    实例:
select replace('abc','b','x');
SELECT REPLACE('中国GDP排名第二','二','一');
SELECT REPLACE(ut.name,'o','哦') FROM user_test ut;

九.SUBSTR(s, start, length) 截取字符串

函数:SUBSTR(s, start, length)
描述:从字符串 s 的 start 位置截取长度为 length 的子字符串
注意:从1开始
实例:

select substr('itcast','2','3');
SELECT SUBSTR('前往星际中心','3','2');
SELECT SUBSTR(ut.address,'5','3') FROM user_test ut;

十.STRCMP(str1,str2) 字符串大小比较

函数:STRCMP(str1,str2)
描述:
比较字符串(其中字符值的)大小,
左大于右时返回1,
左等于右时返回0,
左小于于右时返回-1,

实例:

select strcmp('a','b');
SELECT STRCMP('我爱你','大好');
SELECT STRCMP(ut.name,ut.address),NAME,address FROM user_test ut;

日期函数

一.NOW()/CURDATE()/CURTIME()时间获取

函数:
NOW() 获取年月日时分秒
CURDATE() 获取年月日
CURTIME() 获取时分秒
描述:获取系统当前日期时间、日期、时间
实例:

select now();
INSERT INTO user_test (NAME,address,age,DATE) VALUES('未来','中国',24,NOW());

二.从日期中获取出年、月、日

函数:YEAR(DATE) / MONTH(DATE) / DAY(DATE)
描述:从日期函数结果中选择出年、月、日
实例:

select year(now());
SELECT MONTH(ut.date) FROM user_test ut;
SELECT YEAR(ut.date) FROM user_test ut;

三.LAST_DAY(DATE) 返回某月份最后一天

函数:LAST_DAY(DATE)
描述:返回某月份的最后一天
实例:

select last_day(now());
SELECT LAST_DAY(ut.date) FROM user_test ut;

三.根据某日期进行天数加减

函数:
ADDDATE(DATE,n) 计算‘加’的日期
SUBDATE(DATE,n) 计算‘减’的日期

描述:计算起始日期 DATE 加(减) n 天的日期
实例:

select subdate(now(),10);
SELECT ADDDATE(NOW(),10);
SELECT ADDDATE(ut.date,10) FROM user_test ut;

四.QUARTER(DATE) 返回日期 DATE 是第几季节

函数:QUARTER(DATE)
描述:返回日期 DATE 是第几季节,返回 1 到 4
实例:

select quarter(now());
SELECT QUARTER(ut.date) FROM user_test ut;

五.DATEDIFF(d1,d2) 计算两个日期的相隔天数

函数:DATEDIFF(d1,d2)
描述:计算日期 d1->d2 之间相隔的天数
实例:

select datediff(now(),'1999-1-1');
SELECT DATEDIFF(ut.date,'1997-1-9') FROM user_test ut;

六.DATE_FORMAT(d,f) 根据表达式显示指定日期格式

函数:DATE_FORMAT(d,f)
描述:按表达式 f的要求显示日期 d
实例:

select date_format(now(),'%Y-%m-%d');
SELECT DATE_FORMAT(ut.date,'%Y-%m-%d') FROM user_test ut;

数学函数

一.ABS(x) 返回 x 的绝对值

函数:ABS(x)
描述:返回 x 的绝对值  
实例:select abs(-10);

二.CEIL(x)/FLOOR(x) 向上下取整

函数:CEIL(x) | FLOOR(x)
描述:向上(下)取整
实例:select ceil(1.5);

三.MOD(x,y) 返回x mod y的结果,取余取模

函数:MOD(x,y)
描述:返回x mod(模) y的结果,取余(也称之为取模)
实例:select mod(5,4);

四.RAND() 返回 0 到 1 的随机数

函数:RAND()
描述:返回 0 到 1 的随机数
实例:select rand();

五.ROUND(x) 四舍五入

函数:ROUND(x)
描述:四舍五入
实例:select round(1.2345);

六.TRUNCATE(x,y) 返回数值 x 保留到小数点后 y 位的值

  1. 函数:TRUNCATE(x,y)
    描述:返回数值 x 保留到小数点后 y 位的值
    实例:select truncate(5633.123324,2);

你可能感兴趣的:(数据库)