常用函式(以前學Mysql)
一.常用函式(字串函式,數值函式,日期和時間函式,流程函式)
1 字串函式(concat,INSERT)
# concat ,任何字串和NULL連線都為NUll
SELECT concat('aa','bb');
SELECT concat('aa','bb',NULL);
# INSERT(str,x,y,instr),將字串str從x位置開始,y個字元長的字元替換為instr字串
select INSERT('abcdefg',3, 2, '**');
2 lower(str)和upper(str)
select upper('abc');
3 left(str,x),right(str,x) 從左邊獲取x個字串,或者從右邊獲取x個字串
select left('abcde',2);
# lpad(str,x,pad),rpad(str,x,pad) 用字串pad對str最左邊或最右邊進行填充,直到長度會x個字元長度
select lpad('abc',5,'12345');
# ltrim(str)和rtrim(str),去掉最左邊或最右邊的空格
select ltrim(' abc ');
# trim(str) 去掉左右兩邊的空格
# repeat(str, n) 重複字串n遍
-- select repeat('abc',3)
# replace(str,a,b) 在字串str中,用b字串替換a字串
-- select replace('abcd','c','123')
#substr(str,x,y) 返回字串str中第x位置起y個字元長度的字元
-- select substr('abcd',2,2)
# 數值函式(abs,ceil,floor,mod,rand)
# abs(x) 返回x的絕對值
# ceil(x) 小數不為零部分上取整,即向上取最近的整數
# floor(x) 向下取取最近的整數
# mod(x,y) 返回x/y 的模
# rand() 隨機數,0..1 的值
# 日期和時間函式
# curdate,curtime,now,UNIX_TIMESTAMP,
# 流程函式
# IF(value,t,f) 如果value為真返回t,否則返回f
-- select if(6000>5000, '經理','職員')
-- select IF( (select salary from emp where ename = '孫悟空'), '經理','職員');
#IFNULL, case whe then end 很少這樣做
# 其他常用函式(user(),database(),version(),password(str),md5() )
select user(),database();