💎一站式轻松地调用各大LLM模型接口,支持GPT4、智谱、星火、月之暗面及文生图 广告
第七十四课:设计SQL语句时常用的MySQL内置函数 * * * * * MYSQL中的内置系统函数 用在select语句,以及子句where order by having 中update delete 函数中可以将字段名作为变量来用,变量的值就是这个列对应的每一行记录 select concat(name,' age is ',age) from users where id=3; * * * * * 一、字符串函数 * * * * * php中用的函数,MYSQL中大部分也提供使用 1.concat(s1,s2...sn);//把传入的参数连接成一个字符串 2.insert(str,x,y,insert);//将字符串str从x位置开始,y个字符串长度替换为字符串insert select insert('abcdefg',2,3,'hello'); select insert(name,3,2,'00'),name from users; 3.lower(str),upper(str);//将字符串转为小写或大写 4.left(str,x) right(str);//分别返回最左边的x字符,和最右边的x个字符,如果第二个参数为null则什么也不返回 5.lpad(str,n,pad),rpad(str,n,pad);//用字符串pad对str最左边和最右边进行填充,直到长度为n个字符长度 6.trim(str),ltrim(str),rtrim(str);//去掉字符串两边、左边和右边字符串的空格 select concat('##',trim(' abc '),'##'),concat('##',ltrim(' abc '),'##'),concat('##',rtrim(' abc '),'##'); 7.replace(str,a,b);用字符串b替换字符串str中的所有出现的字符串a select replace('abcdefgiadsdsgdssd','d','xxx'); 8.strcmp(s1,s2);如果s1比s2小,返回-1,如果s1比s2大则返回1,如果s1==s2,返回0 select strcmp('a','b'),strcmp('b','a'),strcmp('a','a'); 9.substring(str,x,y);返回字符串中的第x位置起y个字符串长度的字符 select substring('abcdefgijkhlmm',3,5); select name,substring(name,1,2) from users; * * * * * 二、数值函数 * * * * * abs(x);//返回x的绝对值 ceil(x);//返回大于x的最小整数 2.1 2.5 2.9 返回3 floor(x);//返回小于x的最大整数,2.1 2.5 2.9 返回2 mod(x,y);//返回x/y的模 rand();//返回0-1之间的随机数 round(x,y);//返回参数x的四舍五入的有y位小数的值 truncate(x,y);//返回数字x截断为y位小数的结果 select truncate(1.245,2),round(1.245,2); * * * * * 三、日期函数 * * * * * 当用php的时间戳来完成 curdate(); curtime(); now(); unix_timestamp(date); from_unixtime(); week(); year(); hour(); minute(); select unix_timestamp(now()); select from_unixtime(1386122818); select week(now()),year(now()); select monthname(now()); select date_format(now(),'%Y-%n-%d %H:%i:%s'); * * * * * 四、流程控制函数 * * * * * if(value,t f); select id,salary,if(salary>1003,'hight','low') from salary; ifnull(value1,value2);//如果value1不为空,则返回value1;否则返回value2 select id,salary,ifnull(salary,0) from salary; case when [value1] then[result1]...else[default]end case when ...then select case when salary<=1004 then 'low' else 'high' end from salary; * * * * * 五、其它函数 * * * * * database(); version(); user(); inet_aton(ip);// select inet_aton('192.168.1.1'); inet_ntoa(); password();//select password('123456789'); md5();//select md5('123456');