杭州市西湖区建设局网站,公司名称变更流程及需材料,定制手机壳网站,南宁做网站找哪家公司1、数值函数
➢ 数学计算
○ ABS(x) 返回x的绝对值
SELECT ABS(-2);○ EXP(x) 返回 e 的 x 次方
SELECT EXP(2);
○ LN 返回数字的自然对数
SELECT LN(2);
○ OG(x) 返回自然对数(以 e 为底的对数)
SELECT LOG(20.085536923188);
○ POW(x,y)/POWER(x,y) 返回 x 的 y …1、数值函数
➢ 数学计算
○ ABS(x) 返回x的绝对值
SELECT ABS(-2);○ EXP(x) 返回 e 的 x 次方
SELECT EXP(2);
○ LN 返回数字的自然对数
SELECT LN(2);
○ OG(x) 返回自然对数(以 e 为底的对数)
SELECT LOG(20.085536923188);
○ POW(x,y)/POWER(x,y) 返回 x 的 y 次方
SELECT POW(2,3);
SELECT POWER(2,3);
○ SQRT(x) 返回x的平方根
SELECT SQRT(25);
○ MOD(N,M) N除以M取余
select MOD(21,10);-- 1➢ 四舍五入
○ CEIL(x)/CEILING(x) 返回大于或等于 x 的最小整数
SELECT CEIL(1.5);
SELECT CEILING(1.5);
○ FLOOR(x) 返回小于或等于 x 的最大整数
SELECT FLOOR(1.5);
○ ROUND(x,y) 返回 x 保留y位小数最后一位四舍五入
SELECT ROUND(1.23456);
○ TRUNCATE(x,y) 返回x 保留 y 位小数的值最后一位不四舍五入注意y为负数时向前截取被截取的位数变为0
SELECT TRUNCATE(1.23456,3);
➢ 格式化函数
○ FORMAT(x,n) 将数字 x 进行格式化 “#,###.##”, 将 x 保留到小数点后 n 位最后一位四舍五入
SELECT FORMAT(250500.5634, 2);
➢ 聚合函数
○ MAX(expression) 返回字段 expression 中的最大值
SELECT MAX(price) FROM tt;
○ MIN(expression) 返回字段 expression 中的最小值
SELECT MIN(price) FROM tt;
○ AVG(expression) 返回一个表达式的平均值
-- expression 是一个字段
SELECT AVG(score) FROM sc;
○ SUM(expression) 返回指定字段的总和
SELECT SUM(price) FROM tt;
○ COUNT(expression) 返回指定字段不为NULL的行数
SELECT COUNT(price) FROM tt;
○ GREATEST(expr1, expr2, expr3, …) 返回列表中的最大值
SELECT GREATEST(1, 12, 44, 12);
○ LEAST(expr1, expr2, expr3, …) 返回列表中的最小值
SELECT LEAST(3, 12, 34, 8, 25);
➢ 其他函数
○ RAND() 返回 0 到 1 的随机数
SELECT RAND();
○ SIGN(x) 返回 x 的符号x 是负数、0、正数分别返回 -1、0 和 1
SELECT SIGN(-10);
2、字符串函数
➢ 获取字符串首字母ASCII 码
○ ASCII 返回字符串 s 的第一个字符的 ASCII 码
SELECT ASCII(AB);
➢ 获取字符串长度
○ LENGTH/CHAR_LENGTH(s)/CHARACTER_LENGTH(s) 返回字符串 s 的字符数
SELECT LENGTH(1234);
➢ 字符串拼接
○ CONCAT(s1,s2…sn) 字符串 s1,s2 等多个字符串合并为一个字符串
SELECT CONCAT(hel,llo);
➢ 字符串查找
○ FIND_IN_SET(s1,s2) 返回在字符串s2中与s1匹配的字符串的位置
-- 注意s2是一个集合并非字符串只有s1为s2的元素是才能找到
SELECT FIND_IN_SET(c, a,b,c,d,e);
○ LOCATE(s1,s) 从字符串 s 中获取 s1 的第一次出现的位置从1开始未找到返回0
SELECT LOCATE(st,myteststring);
○ POSITION(s1 IN s) 从字符串 s 中获取 s1 的开始位置
SELECT POSITION(b in abc);-- 2
○ INSTR(str,substr) 从字符串 str 中获取 substr 的第一次出现的位置从1开始未找到返回0
SELECT INSTR(234242,34)-- 2
➢ 字符串替换
○ INSERT(s1,x,len,s2) 字符串s1 中从 x 开始长度为 len 的字符串 替换为 s2
SELECT INSERT(google.com, 1, 6, runnob);
○ REPLACE(str,from_str,to_str) 将字符串 str 中的 from_str 替换为 to_str
SELECT REPLACE(123456789,123,321)
-- 321456789
➢ 字符串大小写转换
○ LCASE(s)/LOWER(s) 将字符串 s 的所有字母变成小写字母
SELECT LOWER(RUNOOB);
○ UCASE(s)/UPPER(s) 将字符串 s 的所有字母变成大写字母
SELECT UCASE(runoob);
➢ 字符串空格去除
○ TRIM(s) 去掉字符串 s 开始和结尾处的空格
SELECT TRIM( RUNOOB );
○ LTRIM(s) 去掉字符串 s 开始处的空格
SELECT LTRIM( RUNOOB );
○ RTRIM(s) 去掉字符串 s 结尾处的空格
SELECT RTRIM( RUNOOB );
➢ 字符串截取
○ SUBSTR/SUBSTRING(s, start, length) 从字符串 s 的 start 位置截取长度为 length 的子字符串
SELECT SUBSTR(RUNOOB, 2, 3);
SELECT SUBSTRING(RUNOOB, 2, 3);
○ LEFT(str,len) 返回字符串str左边len个字符
SELECT LEFT(123456789,4)-- 1234
○ RIGHT(str,len) 返回字符串str右边len个字符
SELECT RIGHT(123456789,4)-- 6789➢ 字符串其他操作
○ REPEAT(s,n) 将字符串 s 重复 n 次
SELECT REPEAT(runoob,3);-- runoobrunoobrunoob
○ REVERSE(s) 将字符串s的顺序反过来
SELECT REVERSE(abc);-- cba
○ STRCMP(s1,s2) 比较字符串 s1 和 s2如果 s1 与 s2 相等返回 0 如果 s1s2 返回 1如果 s1s2 返回 -1
SELECT STRCMP(runoob, runoob);-- 0
3、时间函数
➢ 获取当前时间
○ NOW() 返回当前日期和时间
select NOW();-- 2024-01-22 16:04:05
○ CURDATE()/CURRENT_DATE() 返回当前日期
SELECT CURDATE();
SELECT CURRENT_DATE();-- 2024-01-22○ CURRENT_TIME()/CURTIME() 返回当前时间
SELECT CURRENT_TIME();-- 15:11:15○ CURRENT_TIMESTAMP() 返回当前日期和时间
SELECT CURRENT_TIMESTAMP();-- 2024-01-22 15:11:27➢ 时间计算
○ ADDDATE(d,n) 计算起始日期 d 加上 n 天的日期
SELECT ADDDATE(2017-06-15, INTERVAL 10 DAY);-- 2017-06-25○ ADDTIME(t,n) 时间 t 加上 n 秒的时间
SELECT ADDTIME(2011-11-11 11:11:11, 5);-- 2011-11-11 11:11:16➢ 时间转换
○ DATE() 从日期或日期时间表达式中提取日期值
SELECT DATE(2024-06-15 11:11:16);-- 2024-06-15○ YEAR(d) 返回日期值 d 的年部分
SELECT YEAR(2024-06-15); -- 2024○ MONTH(d) 返回日期值 d 的月部分
SELECT MONTH(2024-06-15); -- 6○ DAY(d) 返回日期值 d 的日部分
SELECT DAY(2024-06-15); -- 15○ HOUR(d) 返回日期值 d 的时部分
SELECT HOUR(2017-06-15 11:11:16);-- 11○ MINUTE(d) 返回日期值 d 的分部分
SELECT MINUTE(2017-06-15 11:11:16);-- 11○ SECOND(d) 返回日期值 d 的日期秒部分
SELECT SECOND(2017-06-15 11:11:16);-- 16○ EXTRACT(type FROM d) 从日期 d 中获取指定的值type 指定返回的值
SELECT EXTRACT(MINUTE FROM 2011-12-13 14:15:16);
-- 15
SELECT EXTRACT(DAY FROM 2011-12-13 14:15:16);
-- 13
SELECT EXTRACT(MONTH FROM 2011-12-13 14:15:16);
-- 12
SELECT EXTRACT(YEAR FROM 2011-12-13 14:15:16);
-- 2011
○ UNIX_TIMESTAMP(d) 得到时间戳
SELECT UNIX_TIMESTAMP(2019-2-19);-- 1550505600○ DAYNAME(d) 返回日期 d 是星期几如 Monday,Tuesday
SELECT DAYNAME(2024-11-11 11:11:11);-- Monday○ DAYOFMONTH(d) 计算日期 d 是本月的第几天
SELECT DAYOFMONTH(2011-11-11 11:11:11);-- 11○ DAYOFWEEK(d) 日期 d 今天是星期几1 星期日2 星期一以此类推
SELECT DAYOFWEEK(2011-11-11 11:11:11);-- 6○ DAYOFYEAR(d) 计算日期 d 是本年的第几天
SELECT DAYOFYEAR(2011-11-11 11:11:11);
○ WEEKOFYEAR(d) 计算日期 d 是本年的第几周
SELECT WEEKOFYEAR(2017-06-15 11:11:16);-- 24○ QUARTER(d) 计算日期 d 是本年的第几季
SELECT QUARTER(2017-06-15 11:11:16);
○ LAST_DAY(d) 返回所在时间当月的最后一天
SELECT LAST_DAY(2011-11-11 11:11:11)-- 2011-11-30➢ 时间格式化
○ DATE_FORMAT(d,f) 按表达式 f的要求显示日期 d
SELECT DATE_FORMAT(2024.11.11 11:11:11,%Y-%m-%d %r);-- 2024-11-11 11:11:11 AM
➢ 时间比较
○ DATEDIFF(d1,d2) 计算日期 d1-d2 之间相隔的天数
SELECT DATEDIFF(2001-01-01,2001-02-02); -- -32
○ TIMESTAMPDIFF(unit,d1,d2) 按类型返回日期 d1-d2 之间相隔的数量
SELECT TIMESTAMPDIFF(YEAR,2011-11-11 11:11:11, 2014-11-11 11:11:11)
-- 3SELECT TIMESTAMPDIFF(MONTH,2011-11-11 11:11:11, 2014-11-11 11:11:11)
-- 36SELECT TIMESTAMPDIFF(DAY,2011-11-11 11:11:11, 2014-11-11 11:11:11)
-- 1096
○ DATE_ADD(date,INTERVAL expr unit) 向前、向后偏移日期和时间expr 可为正负
SELECT DATE_ADD(2017-06-15 11:11:16, INTERVAL 1 YEAR);-- 2018-06-15 11:11:16
○ DATE_SUB(date,INTERVAL expr unit) 向前、向后偏移日期和时间
SELECT DATE_ADD(2017-06-15 11:11:16, INTERVAL 1 YEAR);-- 2016-06-15 11:11:16
4、分支函数
○ IF(expr1,expr2,expr3) 条件分支expr1为true返回expr2否则返回expr3
SELECT IF(10,yes,no);-- yes
○ IFNULL(expr1,expr2) expr1不为null返回expr1否则返回expr2
SELECT IFNULL(2342,1)-- 2342
5、系统信息函数
○ VERSION()返回数据库的版本号
SELECT VERSION();-- 8.0.25
○ 查看当前登入用户的连接次数
SELECT CONNECTION_ID();-- 8
○ DATABASE()返回当前数据库名
SELECT DATABASE();-- test
○ CURRENT_USER()/SESSION_USER()/SYSTEM_USER()/USER() 返回当前用户
SELECT CURRENT_USER();
6、其他函数
○ CONV(x,f1,f2) 返回 f1 进制数变成 f2 进制数
-- 将13的10进制转换为2进制
SELECT CONV(13,10,2);-- 1101○ INET_ATON(ip)函数 返回IP地址的数字表
○ INET_NTOA(NUM)函数 返回数字所代表的IP地址。
○ password(str) 密码加密函数加密是单向的不可逆
○ md5(str) 加密函数该函数为字符串算出一个MD5 128比特校验返回值以32位16进制数字的二进制字符串
○ encode(strpswd_str) 加密函数pswd_str 为盐值
○ decode(加密的字符串, pswd_str) 解密encode加密的函数