网站建设知识
Mysql常用函数
2025-07-22 09:54  点击:0

-----------------------------字符串函数---------------------------------------

----拼接字符串,任何字符串与null拼接为null
select concat('aaa','bbb','ccc'),concat(null,'aaa');
----从第12个字符后开始的三个字符替换成me
select insert ('beijing2008you',12,3,'me');

----下标从1开始
select insert ('beijing',1,2,'oo');

---大小写转换
select lower('BEIJING'),UPPER('beijing');


---重复
select repeat('mysql ',3);
---去除两侧的空格,去除左侧空格,去除右侧重复
select trim(" simba "),ltrim(" simba "),rtrim(" simba ");

---输出左侧的n个字符,输出右侧的n个字符,若n为null,则输出null
select left('beijing2008',7),left('beijing',null ),right("beijing2008",4);

-----用最右边的填充最左边的字符,知道长度为n个
select lpad('2008',10,'beijing'),rpad('2008',10,'beijing'),lpad('2008',4,'beijing');

----替换字符串
select replace('beijing','i','o');


----比较第一个字符串和第二个的大小
select strcmp('bc','bs'),strcmp('b','b'),strcmp('c','b');

-----返回字符串的第x个位置起y个字符长度的子串。

select substring ('beijing2008',8,4),subString('beijing2008',1,7);


------------------------------数值函数----------------------------------


-----绝对值,字符串的都为0
select abs(4),abs(4-5),abs('a'-'b');


-----返回大于x的最小整数
select CEIL(-0.8),CEIL(0.8),ceil (2.0);


----返回小于x的最大整数,和ceil的用法刚好相反
select floor(-0.8),floor(0.8);


-----null为任何一个参数结果都为null
select mod(15,10),mod(1,11),mod(null,10);

------产生的是0 ~ 1之间的随机数
select rand(),rand()*10;

select ceil(rand()*100),floor(rand()*100);




---返回第一个数四舍五入后,小数点后几位
select round(1.1),round(1.567,2),round(1,2);


-----截断x 等于小数位只留一位
select truncate(123.284,1);




-------日期和时间函数--------------------------------------


----current date 当前时间
select curdate();


select curtime();


select now();


-----返回date的unix时间戳

select unix_timestamp(now());

----返回某个时间戳对应的时间
select from_unixtime(132454);


-----一年中的第几周,第几年,小时和分钟

select week(now()),year(now()),hour(now()),minute(now());


----返回月份的英文
select monthname(now());


-----格式化date
select date_format(now(),'%M,%D%Y');


----两天相差的天数

select datediff("2014-05-10",now());

------当前的日期, 当前日期加31天 当前日期的一年后的后两个月 interval=间距
select now(), date_add(now(),interval 31 day) ,date_add(now(),interval '1_2' year_month) ;



-------其他----

select version()

select database(),user()



------方便IP或网段的比较
-----返回IP地址的数字

select inet_aton('192.168.8.11')

---返回数字的IP地址
select inet_ntoa(3452233445);



--返回数字加密后的形式
select Password(123456);

select md5(123456);