12、mysql常用函数----第2篇

来源:互联网 发布:python spider 编辑:程序博客网 时间:2024/05/16 06:07

对应第13章

1、字符串函数

1、字符串连接CONCAT(arg1,arg2...)   多个参数例:SELECT CONCAT('li',12);SELECT CONCAT('li',12,NULL);  -- 当参数中有NULL时整个结果为NULLCONCAT_WS(SEP,arg1,arg2...)  SEP是字符串连接时的分隔符,后面是多个参数例:SELECT CONCAT_WS('#',1992,12,23);   -- 1992#12#23SELECT CONCAT_WS('',1992,NULL,'aa');    -- 1992aa当参数有NULL时,最好的方法是用CONCAT_WS,因为不会让结果为NULL2、字符串大小比较STRCMP(str1,str2)   -- 前者大返1,相等返0,前者小返-13、字符长度LENGTH()   CHAR_LENGTH()LENGTH()求的是字节长度,CHAR_LENGTH()求的是字符个数例:SELECT LENGTH('asd'),LENGTH('李牧');    -- 3  6SELECT CHAR_LENGTH('asd'),CHAR_LENGTH('李牧');  --  3  24、字符串大小写转为大写:UPPER()  UCASE()转为小写:LOWER()  LCASE()5、查找字符串分别为FIND_IN_SET()    FIELD()  LOCATE()   ELT()   MAKE_SET()FIND_IN_SET(str1,str2):在str2中找到str1所在的位置,其中str2是个类集合SELECT FIND_IN_SET('chen','zhao,chen,sun');    -- 2FIELD(str,str1,str2...)  :返回str系列中第一个与str匹配的位置SELECT FIELD('chen','li','zjao','chen');   -- 3子串在父串的开始位置:LOCATE(子串,父串)   POSITION(子串 IN 父串)      INSTR(父串,子串)例:SELECT LOCATE('sql','mysql');   -- 3ELT(n,str1,str2....)  返回第n个字符串SELECT ELT(2,'az','ad','ac');   --  'ad'MAKE_SET(num,str1,str2...) 将num化为二进制,根据二进制中的0、1看是否选择某串SELECT BIN(5) 二进制,MAKE_SET(5,'a','c','r','s');-- 5的二进制为101,所以最终集合为 a,r6、截取子串LEFT() RIGHT() SUBSTRING() MID()LEFT(str,num)   从左截取num个RIGHT(str,num)  从右截取num个例:SELECT LEFT('mysql',2),RIGHT('mysql',3);SUBSTRING(str,num,len)  MID(str,num,len)    从num位置开始截取len长的子串例:SELECT MID('cfjgbj',2,3);  -- fjg7、删空格TRIM(' asd ')  -- 删空格LTRIM(' asd ')  -- 删左面空格LTRIM(' asd ')  -- 删右面空格8、子串替换INSERT(str,pos,len,newstr) 将str中从pos位置开始的len字符串用newstr替换。REPLACE(str,substr,newstr)例:SELECT REPLACE('this is mysql','mysql','oracle'); -- this is oracle

2、数值函数

随机数RAND()  RAND(X)  :0~1间随机数直接RAND()得到变化的随机数,而有参数比如RAND(3)在任何时候始终是那个随机数CEIL(x)  >= x的最小整数FLOOR(x)  <= x的最大整数截取数值TRUNCATE(x,y)  截取到小数点后y位SELECT TRUNCATE(9913.236,-2),TRUNCATE(9913.236,-1),TRUNCATE(9913.236,0),TRUNCATE(9913.236,2);--  9900    9910    9913    9913.23四舍五入ROUND(x)    ROUND(x,y) 保留y位小数例:SELECT ROUND(12.54),ROUND(12.54,1),ROUND(12.54,0),ROUND(12.54,-1);--  13  12.5    13  10

3、日期和时间函数

获取当前时间日期:SELECT NOW();获取当前日期:SELECT CURDATE();获取当前时间:SELECT CURTIME();时间日期的显示:1、通过UNIX方式显示即是从1970.1.1开始的秒数UNIX_TIMESTAMP()函数是把普通格式化为UNIX格式,FROM_UNIXTIME()是把UNIX格式化为普通格式。SELECT UNIX_TIMESTAMP(NOW()),FROM_UNIXTIME(UNIX_TIMESTAMP(NOW()));--  1469023524  2016-07-20 22:05:242、UTC方式UTC采用的是国际时间,而上面自己求的CURTIME()用的是电脑上的北京时间,有时间差。SELECT UTC_DATE(),UTC_TIME();其他时间日期的函数省略。。。。。

4、系统信息函数

SELECT VERSION() 版本号,DATABASE() 数据库名,USER() 用户名;

这里写图片描述

获取AUTO_INCREMENT的最后ID值
比如某个表中有个ID是AUTO_INCREMENT,自己不知道ID到底增加到几了,可以查询:
SELECT LAST_INSERT_ID();

其他函数见书本p316

0 0
原创粉丝点击