函数表示对输入参数值返回一个具有特定关系的值
1.数学函数
1.1.绝对值函数 SELECT ABS(-3.3)
1.2.圆周率函数 SELECT pi()
1.3.平方根函数 SELECT SQRT(49)
1.4.求余函数 SELECT MOD(30,11)
1.5.获取大于X的整数 SELECT CEIL(-3.9) // -3
1.6.获取小于X的整数 SELECT FLOOR(4.5) // 4
1.7.获取随机数 SELECT RAND(x) // 若有x,则产生相同的随机数
1.8.获取接近x的整数 SELECT ROUND(-10.4,1) // 保留1位小数
1.9.返回舍去至小数点后y位的数字x SELECT TRUNCATE(10.1111,1) // 10.1
1.10.返回参数的符号 SELECT SIGN(-2) // 正数为1,负数为-1,0为0
1.11.返回x的y次方的值 SELECT POW(4,2) // 16
1.12.返回e的x次方的值 SELECT EXP(x) // e代表2.718281828459045
1.13.返回以e为底,x的对数值 SELECT LOG(2.718281828459045) // 1,若x为负数,则为NULL
1.14.返回以10为底,x的对数值 SELECT LOG10(10) // 1,若x为负数,则为NULL
2.字符串函数
2.1.计算字符串的字符数 SELECT CHAR_LENGTH('abc') // 3
2.2.计算字符串的长度 SELECT LENGTH('bcd') // 3 一个字符占用一个字节
2.3.合并字符串1 SELECT CONCAT('MySQL','5.6','版本') // MySQL5.6版本
2.4.合并字符串2 SELECT CONCAT_WS('_','MySQL','5.6','版本') // MySQL_5.6_版本 "_"为分隔符
2.5.替换字符串 SELECT INSERT('ILIKE','2','4','LOVE') // ILOVE
2.6.字母小写 SELECT LOWER('ABC') SELECT LCASE('ABC') // abc
2.7.字母大写 SELECT UPPER('Abc') SELECT UCASE('Abc') // ABC
2.8.获取左边起的N个字符 SELECT LEFT('abc',2) // ab
2.9.获取右边起的N个字符 SELECT RIGHT('abc',2) // bc
2.10.将字符串2拼接到字符串1的左边 SELECT LPAD('LOVE_DOG',10,'I') // IILOVE_DOG
2.11.将字符串2拼接到字符串1的右边 SELECT RPAD('LOVE_DOG',10,'I') // LOVE_DOGII
2.12.删除字符串左边空格 SELECT LTRIM(' ABC ') // ABC+空格
2.13.删除字符串右边空格 SELECT RTRIM(' ABC ') // 空格+ABC
2.14.删除字符串两边空格 SELECT TRIM(' ABC ') // ABC
2.15.删除指定字符串 SELECT TRIM('a' FROM 'abcaaa') // bc 'A'和'a'区分大小写
2.16.重复生成字符串 SELECT REPEAT('AB',3) // ABABAB
2.17.生成由空格组成的字符串 SELECT LENGTH(SPACE(5)) // 5
2.18.s2替换s1在s中的位置 SELECT REPLACE('ABABABAB','B','C') // ACACACAC
2.19.比较字符串大小 SELECT STRCMP('AB','ABC') // -1,相同为0,前者大于后者为1,不区分大小写
2.20.截取字符串 SELECT SUBSTRING('ABCDEFG', 5, 2) SELECT MID('ABCDEFG', 5, 2) // EF
2.21.匹配子串开始位置的函数 SELECT LOCATE('A','BBBBBVVVVAA') SELECT POSITION('A' IN 'BBBBBVVVVAA') SELECT INSTR('BBBBBVVVVAA','A') // 10
2.22.字符串逆序 SELECT REVERSE('ABC') // CBA
2.23.返回指定位置的字符串 SELECT ELT(2,'ABC','ABCEFD','ABCEFDHIG') // ABCEFD
2.24.返回指定字符串的位置 SELECT FIELD('Hi','AB','CD','Hi') // 3
2.25.返回子串在字符串列表中的位置 SELECT FIND_IN_SET('AB','CSDABFAF,AB,DAS') // 2
3.日期和时间函数
3.1.许多日期函数可以接收数字和字符串两种参数
3.2.获取当前日期 SELECT CURDATE() // 2017-01-13
3.3.获取当前数值日期 CURRENT_DATE() + 0 // 20170113
3.4.获取当前时间 SELECT CURTIME() // 16:44:59
3.4.获取当前数值时间 SELECT CURTIME() // 164544.000000
3.5.获取当前日期和时间 SELECT CURRENT_TIMESTAMP(),LOCALTIME(),NOW(),SYSDATE() // 2017-01-13 16:47:12
3.6.获取UTC日期(世界标准时间=格林威治时间) SELECT UTC_DATE() // 2017-01-13
3.7.获取UTC时间 SELECT UTC_TIME() // 08:54:05
3.8.获取数字月份 SELECT MONTH('2017-01-13') // 1
3.9.获取英文月份 SELECT MONTHNAME('2017-01-13') // January
3.10.获取星期 SELECT DAYNAME('2017-01-13') // Friday
3.11.获取星期对应的周索引 SELECT DAYOFWEEK('2017-01-13') // 6,2表示周一
3.12.获取星期对应的工作日索引 SELECT WEEKDAY('2017-01-13') // 4,0代表周一
3.13.计算日期是一年中的第几周 SELECT WEEK('2017-01-13'),WEEKOFYEAR('2017-01-13') // 2,默认一周的第一天是周日
3.14.计算日期是一年中的第几天 SELECT DAYOFYEAR('2017-01-13') // 13
3.15.计算日期是一个月中的第几天 SELECT DAYOFMONTH('2017-01-13') // 13
3.16.获取年份、季度、小时、分钟、秒钟 SELECT YEAR('2017-01-13 16:44:59'),QUARTER('2017-01-13 16:44:59'),HOUR('2017-01-13 16:44:59'),MINUTE('2017-01-13 16:44:59'),SECOND('2017-01-13 16:44:59') // 2017 1 16 44 59
3.17.时间转换成秒钟 SELECT TIME_TO_SEC('20:00:00') // 72000
3.18.秒钟转换成时间 SELECT SEC_TO_TIME(72000) // 20:00:00
4.条件判断函数
4.1.IF函数 SELECT IF(1>2,'A','B') // B
4.2.IFNULL函数 SELECT IFNULL(NULL,'B') // B,若1不为NULL,则返回1,否则返回2
4.3.CASE函数 SELECT CASE 'F' WHEN 'A' THEN 1 WHEN 'B' THEN 2 WHEN 'C' THEN 3 ELSE 'D' END // D
5.系统信息函数
5.1.获取MySQL版本号 SELECT VERSION() // 5.5.24
5.2.获取MySQL连接数 SELECT CONNECTION_ID() // 4
5.3.获取MySQL数据库名 SELECT DATABASE() // test_db
5.4.获取MySQL当前登录用户名称 SELECT USER(),CURRENT_USER(),SYSTEM_USER() // root@localhost
5.5.获取MySQL字符串的字符集 SELECT CHARSET('ABC') // utf8
5.6.获取MySQL字符串的排序方式 SELECT COLLATION('ABC') // utf8_general_ci
5.7.获取最后一个自动生成的ID值 SELECT LAST_INSERT_ID() // 0
6.加密函数
6.1.加密函数PASSWORD(str) SELECT PASSWORD('ABC') // *71B101096C51D03995285042443F5C44D59C8A31
6.2.加密函数MD5(str) SELECT MD5('ABC') // 902fbdd2b1df0c4f70b4a5d23525e932
6.3.加密函数ENCODE(str,password_str) SELECT ENCODE('AB','888') // 乱码
6.4.解密函数DECODE(encode_str,password_str)
7.其他函数
7.1.格式化函数 SELECT FORMAT('123456.789',2) // 123,456.79菜鸟交流群:260052172
转载于:https://my.oschina.net/Tsher2015/blog/823871
