mysql内部函数及使用

原文链接: https://blog.csdn.net/kubichengxuyuanz/article/details/100060641

存储过程和函数区别: 存储没有返回值,使用输出参数返回数据,可以有多个,函数有返回值,只能返回一个。

MySQL 有很多内置的函数

字符串函数

CHARSET(str) //返回字串字符集
CONCAT (string2 [,… ]) //连接字串
INSTR (string ,substring ) //返回substring首次在string中出现的位置,不存在返回0
LCASE (string2 ) //转换成小写
LEFT (string2 ,length ) //从string2中的左边起取length个字符
LENGTH (string ) //string长度,字节的长度
LOAD_FILE (file_name ) //从文件读取内容
LOCATE (substring , string [,start_position ] ) 同INSTR,但可指定开始位置
LPAD (string ,length ,pad ) //重复用pad加在string开头,直到字串长度为length
LTRIM (string ) //去除前端空格
REPEAT (string2 ,count ) //重复count次
REPLACE (str ,search_str ,replace_str ) //在str中用replace_str替换search_str
RPAD (string ,length ,pad) //在str后用pad补充,直到长度为length
RTRIM (string ) //去除后端空格
STRCMP (string1 ,string2) //逐字符比较两字串大小,
SUBSTRING (str , position [,length ]) //从str的position开始,取length个字符,
TRIM([[BOTH|LEADING|TRAILING] [padding] FROM]string2) //去除指定位置的指定字符
UCASE (string2 ) //转换成大写
RIGHT(string2,length) //取string2最后length个字符
SPACE(count) //生成count个空格
注:mysql中处理字符串时,默认第一个字符下标为1,即参数position必须大于等于1

数学类函数

ABS (number2 ) //绝对值
BIN (decimal_number) //十进制转二进制
CEILING (number2 ) //向上取整
CONV(number2,from_base,to_base) //进制转换
FLOOR (number2 ) //向下取整
FORMAT (number,decimal_places ) //保留小数位数
HEX (DecimalNumber) //转十六进制
POWER (number ,power ) //求指数
RAND([seed]) //随机数
ROUND (number [,decimals ]) //四舍五入,decimals为小数位数] 注:返回类型并非均为整数

日期时间类

ADDTIME (date2 ,time_interval) //将time_interval天加到date2 秒
ADDDATE(‘2019-04-15’,2); #2天
CURRENT_DATE ( ) //当前日期
CURRENT_TIME ( ) //当前时间
CURRENT_TIMESTAMP ( ) //当前时间戳
DATE (datetime ) //返回datetime的日期部分
DATE_ADD (date2 , INTERVAL d_value d_type ) //在date2中加上日期或时间
DATE_FORMAT (datetime ,FormatCodes ) //使用formatcodes格式显示datetime
DATE_SUB (date2 , INTERVAL d_value d_type ) //在date2上减去一个时间
DATEDIFF (date1 ,date2 ) //两个日期差
DAY (date ) //返回日期的天
DAYNAME (date ) //英文星期
DAYOFWEEK (date ) //星期(1-7) ,1为星期天
DAYOFYEAR (date ) //一年中的第几天
EXTRACT (interval_name FROM date ) //从date中提取日期的指定部分
MAKEDATE (year ,day ) //给出年及年中的第几天,生成日期串
MAKETIME (hour ,minute ,second ) //生成时间串
MONTHNAME (date ) //英文月份名
NOW ( ) //当前时间
SEC_TO_TIME (seconds ) //秒数转成时间
STR_TO_DATE (string ,format ) //字串转成时间,以format格式显示
TIMEDIFF (datetime1 ,datetime2 ) //两个时间差
TIME_TO_SEC(time) //时间转秒数
WEEK (date_time [,start_of_week ]) //第几周
YEAR (datetime ) //年份
DAYOFMONTH(datetime) //月的第几天
HOUR(datetime) //小时

笔记: SELECT CHARSET (‘aaa’);
SELECT CONCAT (“aaaaa” ,“aadfsdf”);
SELECT INSTR (“我爱java,JavaScript”,“java”)AS a;
SELECT CONCAT (“aaaa”,“bbbb”,“vvvv”,“cccc”);
SELECT LCASE (“Aa”);
SELECT LEFT (“aaaavv”,5);
SELECT LPAD (“aaa”,20,‘w’);
LTRIM
REPEAT
SET @param = REPLACE (“我叫王银龙,我是王银龙”,“王银龙”,“濑瘊子”);
SELECT @param;
SELECT RPAD (“aaa”,22,“濑瘊子”);
SELECT STRCMP(“asdasd”,“adafsfs”);
SELECT SUBSTRING(“濑瘊子就是我我就是王银龙”,5,3);
SELECT RIGHT (“濑瘊子ssss”,5);
SELECT SPACE(5);
SELECT ABS(-111);
SELECT BIN(11);
SELECT CEILING (10.4);//向上取整;
SELECT CONV(10,10,2);
SELECT FORMAT (10,5);
HEX
SELECT POW(10,3);
SELECT RAND(20);
ROUND //四舍五入,后面需加小数点位数。
SELECT ADDTIME(CURRENT_TIME,59);//后面只能加小于60的数。
SELECT ADDDATE(CURRENT_DATE ,5);
CURRENT_DATE
CURRENT_TIME
SELECT CURRENT_TIMESTAMP;
SELECT DATE(CURRENT_DATE);//返回日期部分;
————————————————
版权声明:本文为CSDN博主「我的键盘没有ctrl」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/kubichengxuyuanz/article/details/100060641

猜你喜欢

转载自blog.csdn.net/qq_39005688/article/details/102698819
今日推荐