今天講一講 mysql 中常用的內(nèi)置函數(shù)有哪些:
- 字符串函數(shù)
- 日期函數(shù)
- 數(shù)學(xué)函數(shù)
字符串函數(shù)
LENGTH(string ) //string長(zhǎng)度,字節(jié)
CHAR_LENGTH(string) //string的字符個(gè)數(shù)
SUBSTRING(str ,position [,length ]) //從str的position開始,取length個(gè)字符
REPLACE(str ,search_str ,replace_str) //在str中用replace_str替換search_str
INSTR(string ,substring ) //返回substring首次在string中出現(xiàn)的位置
CONCAT(string [,... ]) //連接字串
CHARSET(str) //返回字串字符集
LCASE(string ) //轉(zhuǎn)換成小寫
LEFT(string ,length ) //從string2中的左邊起取length個(gè)字符
LOAD_FILE(file_name) //從文件讀取內(nèi)容
LOCATE(substring , string [,start_position ]) //同INSTR,但可指定開始位置
LPAD(string ,length ,pad ) //重復(fù)用pad加在string開頭,直到字串長(zhǎng)度為length
LTRIM(string ) //去除前端空格
REPEAT(string ,count ) //重復(fù)count次
RPAD(string ,length ,pad) //在str后用pad補(bǔ)充,直到長(zhǎng)度為length
RTRIM(string ) //去除后端空格
STRCMP(string1 ,string2 ) //逐字符比較兩字串大小
mysql 中 select 跟 linux中的 echo 效果一樣 都是打印信息
select concat("php學(xué)習(xí)","到底哪家強(qiáng)"); #字符串連接
+---------------------------------------+
| concat("php學(xué)習(xí)","到底哪家強(qiáng)") |
+---------------------------------------+
| php學(xué)習(xí)到底哪家強(qiáng) |
+---------------------------------------+
select lcase("PHP IS SO GOOD"); #轉(zhuǎn)成小寫
+-------------------------+
| lcase("PHP IS SO GOOD") |
+-------------------------+
| php is so good |
+-------------------------+
日期函數(shù)
select curdate(); #返回當(dāng)前日期
select curtime();#返回當(dāng)前時(shí)間
select now();#返回當(dāng)前日期和時(shí)間
select unix_timestamp(now()); #返回當(dāng)前日期的時(shí)間戳
select from_unixtime(1524175009);#根據(jù)時(shí)間戳返回當(dāng)前的日期
insert into t1(name) values(unix_timestamp()); #直接將 當(dāng)前時(shí)間戳插入數(shù)據(jù)庫(kù)
select week(now());#當(dāng)前時(shí)間是第幾周
select year(now());#當(dāng)前時(shí)間是哪一年
select datediff("2018-10-20","2015-12-10"); #計(jì)算差別的天數(shù) 第一次 起始時(shí)間 其二個(gè) 結(jié)束時(shí)間
date_format();格式化日期
select date_format(now(),'%Y%m%d');
select date_format(now(),'%Y%m%d%H%i%s');
數(shù)學(xué)函數(shù)
select bin(200); #10進(jìn)制轉(zhuǎn)成2進(jìn)制
select ceiling(10.1);11
select floor(10.1);10
mysql> SELECT student_name, MIN(test_score), MAX(test_score)
-> FROM student
-> GROUP BY student_name;
取最大值 和最小值
random() 大于等于0 小于1 js 生成隨機(jī)數(shù)
mt_rand()
rand() 0-1之間的隨機(jī)值 不包括1 和 0
除以上的函數(shù)之外還有:
聚合函數(shù)
Count() Sum(); Max(); Min(); Avg(); Group_concat()
流程函數(shù)
CASE WHEN [condition] THEN result WHEN [condition]THEN result ...END 多分支
IF(expr1,expr2,expr3) 雙分支逞姿。
其他的函數(shù)
Md5(); Default();