1. 程式人生 > >常用函式(以前學Mysql)

常用函式(以前學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();