栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL基础 函数篇

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL基础 函数篇

函数类似于方法,函数的通常概念是可以单独存在的个体单元,也是最小的单元组成。
函数一般都是封装代码用来方便多次调用,或增加主程序代码的可读性。


数值函数




如果放入数值为因子,因子一样则两组结果一致。


第二个参数意为保留小数点的位数。

这种情况下会变为0,如果为-2则变变为 100,满足四舍五入的五则为200

该函数为截位,不会产生四舍五入。

负数直接为0;

单行函数嵌套


先运算括号里的函数,再运算括号外的函数。


字符串函数

#字符串函数
#ASCIi() 获取字符的ASCII表值,CHAR_LENGTH和LENGTH()返回字符串的长度,第一个是按照字节返回长度
SELECt ASCIi('A'),CHAR_LENGTH('HELLO'),CHAR_LENGTH('我们'),
LENGTH('HELLO'),LENGTH('我们')
FROM DUAL;
#字符串连接函数
SELECt CONCAt(emp.last_name,' worked for ',mgr.`last_name`) AS "结果集"
FROM employees emp JOIN employees mgr 
WHERe emp.`manager_id` = mgr.`employee_id`;
#带有分隔符号的连接函数
SELECt CONCAT_Ws('-','Hello','Java','Hello','Spring MVC...')AS "Hello Demo";
#字符串的索引是从1开始的
#从2开始到3的数据替换成 aaaa
#第二个函数意为将字符串中的ll替换成mmm
#第二个函数的数据如果不存在,则替换失败,数据还是原来的数据,不会报错
SELECT INSERT("helloworld",2,3,'aaaaa'),REPLACE('hello','ll','mmm') AS "结果集" FROM DUAL;
#大写、小写函数 如果目标已大写或小写则无视
SELECt UPPER('hello java'),LOWER('HELLO JAVASCRIPT') FROM DUAL;
#类似于截取,不过分了截取的方向
SELECt LEFt('hello',2),RIGHt('hello',3);
#占位补充对齐函数 
#LPAD:右对齐效果
#RPAD:左对齐效果
SELECT e.`employee_id`,e.last_name,LPAd(e.`salary`,'10','*')
FROM employees e;
SELECt e.`employee_id`,e.last_name,RPAD(e.`salary`,'10','*')
FROM employees e;


#字符串函数
#去除首尾空格
SELECt CONCAt('---',TRIm('   h  e   lo   '),'***') FROM DUAL;
#去除左边空格
SELECt CONCAt('---',LTRIm('   h  e   lo   '),'***') FROM DUAL;
#去除右边空格
SELECt CONCAt('---',RTRIm('   h  e   lo   '),'***') FROM DUAL;
#去除开始或结尾的参数
SELECt CONCAt('---',LTRIm('   h  e   lo   '),'***') ,
TRIm('o' FROM 'oohello')
FROM DUAL;
#重复四次参数,产生空格 #如果左边比右边大则返回 1 相同返回0 小于返回-1
SELECt REPEAT('hello',4),LENGTH(SPACe(5)),STRCMP('abc','abd') FROM DUAL;
#截取字符串 如果不给予参数则默认全部截取(第一个参数的位置开始)
SELECt SUBSTr('hello',2,2)FROM DUAL;
#locate 获取参数1在参数2出现的位置 无视大小写 如果没有匹配到则返回0
SELECt LOCATE('l','hello') FROM DUAL;
#返回指定参数位置的字符串内容
SELECt ELT(2,'Hello Java','Hello Java Script','Java JQuery','Hello MySQL','Hello JBDC')FROM DUAL;
#寻找该字符串在字符串列表中首次出现的位置
SELECt FIELD('Hello MySQL','Hello Java','Hello Java Script','Java JQuery','Hello MySQL','Hello JBDC') FROM DUAL;
#寻找该字符串在字符串列表中首次出现的位置 其中s2是一串以逗号分开的字符串
SELECt FIND_IN_SET('Hello MySQL','Hello Java,Hello Java Script,Java JQuery,Hello MySQL,Hello JBDC') FROM DUAL;
#反转字符串 比较两个字符串,如果相等返回null 否则返回第一个参数
SELECt REVERSe('依天洛'),NULLIF('乐正绫','洛天依'),NULLIF('乐正绫','乐正绫')FROM DUAL;
日期和时间函数

#日期和时间类型函数
#获取日期时间
#获取日期,时间,当前系统日期和时间,获取世界标准日期时间
SELECt CURDATE(),CURTIME(),NOW(),UTC_DATE(),UTC_TIME();

#日期与时间戳的转换
SELECT UNIX_TIMESTAMP(),UNIX_TIMESTAMP('2022-6-15 20.09:13'),
FROM_UNIXTIME(1653912553),FROM_UNIXTIME(1655294953) 
FROM DUAL;

#获取月份、星期、星期数、天数等函数
SELECt YEAR(CURDATE()),MONTH(CURDATE()),DAY(CURDATE()),
HOUR(CURTIME()),MINUTE(NOW()),SECOND(SYSDATE())
FROM DUAL;

SELECt MONTHNAME("2012-8-27"),DAYNAME('2011-8-27'),WEEKDAY('2020-10-26'),
QUARTER(CURDATE()),WEEK(CURDATE()),DAYOFYEAR(NOW()),DAYOFMONTH(NOW()),
DAYOFWEEK(NOW()) FROM DUAL;
日期操作函数


#获取当前秒位
SELECt EXTRACT(SECOND FROM NOW()) FROM DUAL;
#获取当前日期
SELECt EXTRACT(DAY FROM NOW()) FROM DUAL;
#返回天和分钟值
SELECt EXTRACT(HOUR_MINUTE FROM NOW()) FROM DUAL;
#返回天和小时
SELECt EXTRACT(DAY_HOUR FROM NOW()) FROM DUAL;
时间和秒钟转换的函数

TIME_TO_SEC(time):将time转换为秒并返回结果值,转换公式为:小时X3600+分钟X60+秒
SEC_TO_TIME(seconds):将seconds描述转换为包含小时,分钟和秒的时间

#时间和秒钟转换函数
SELECt TIME_TO_SEC(CURTIME()),SEC_TO_TIME('75761')
FROM DUAL;
计算日期和时间函数



#计算日期和时间函数
#相当于加了一年
SELECt DATE_ADD(NOW(),INTERVAL 1 YEAR) FROM DUAL;
#相当于减了一年
SELECt DATE_ADD(NOW(),INTERVAL -1 YEAR) FROM DUAL;
#SUB本身就是代表减 这里相当于减10年
SELECt DATE_SUB(NOW(),INTERVAL 10 YEAR) FROM DUAL;

SELECt DATE_ADD(NOW(),INTERVAL 1 DAY) AS "col1",
DATE_ADD('2021-10-21 23:32:12',INTERVAL 1 SECOND)AS "col2",
ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND)AS "col3",
DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS "col4",
DATE_ADD(NOW(),INTERVAL -1 YEAR) AS "col5",#可以是负数
DATE_ADD(NOW(),INTERVAL '1_1' YEAR_MONTH) AS "col6"#需要单引号
FROM DUAL; 
#代码不全

p is 35 35:19

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/937079.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号