MySQL一些函式的使用

2021-07-24 00:06:17 字數 2723 閱讀 3305

1.lpad()函式的使用

2.substr(str from pos for len)函式的使用,str表示要擷取的字串,pos表示從第幾位開始擷取(從1開始),len表示擷取幾位。

如果在擷取的時候不寫需要擷取幾位(len),那麼就會從輸入的pos位開始一直擷取到最後。

日期擷取:substr(str_to_date(start_date,'%y-%m-%d'),1,4);

3.concat(str1,str2,...)函式的使用。

使用方法:

concat(str1,str2,…)  

返回結果為連線引數產生的字串。如有任何乙個引數為null ,則返回值為 null。

注意:如果所有引數均為非二進位制字串,則結果為非二進位制字串。 

如果自變數中含有任一二進位制字串,則結果為乙個二進位制字串。

乙個數字引數被轉化為與之相等的二進位制字串格式;若要避免這種情況,可使用顯式型別 cast, 例如:

select concat(cast(int_col as char), char_col)

mysql的concat函式可以連線乙個或者多個字串

mysql的concat函式在連線字串的時候,只要其中乙個是null,那麼將返回null

mysql的concat函式在連線字串的時候,如果某個字串為'',則不影響結果。

4.mysql中concat_ws函式

使用方法: 

concat_ws(separator,str1,str2,...)

concat_ws() 代表 concat with separator ,是concat()的特殊形式。第乙個引數是其它引數的分隔符。分隔符的位置放在要連線的兩個字串之間。分隔符可以是乙個字串,也可以是其它引數。

注意:如果分隔符為 null,則結果為 null。函式會忽略任何分隔符引數後的 null 值。

如字串連線後以逗號分隔(逗號只能放最前面,不能放後面)

和mysql中concat函式不同的是, concat_ws函式在執行的時候,不會因為null值而返回null 

5.rand()函式,取隨機數,0到1之間的任意隨機數。

7.四捨五入函式

floor(x)

返回不大於x的最大整數值。

mysql> select floor(1.23);

-> 1

mysql> select floor(-1.23);

-> -2

注意返回值被變換為乙個bigint

ceiling(x)返回不小於x的最小整數值。

mysql> select ceiling(1.23);

-> 2

mysql> select ceiling(-1.23);

-> -1

注意返回值被變換為乙個bigint

round(x)

返回引數x的四捨五入的乙個整數。

mysql> select round(-1.23);

-> -1

mysql> select round(-1.58);

-> -2

mysql> select round(1.58);

-> 2

注意返回值被變換為乙個bigint!

round(x,d)

返回引數x的四捨五入的有d為小數的乙個數字。如果d0,結果將沒有小數點或小數部分。

mysql> select round(1.298, 1);

-> 1.3

mysql> select round(1.298, 0);

-> 1

注意返回值被變換為乙個bigint!

MySQL函式 其它的一些函式

if expr,v1,v2 expr表示式為true時返回v1,否則返回v2 ifnull v1,v2 如果v1為null,返回v2 v1不為null 則返回v1 如果expr 等於 v1.v2.中的值則返回 then後面的r1,r2.否則返回else後面的值m 當v1,v2.中某個值為true時 ...

mysql 一些語句的使用

mysql u使用者名稱 p密碼 例如 mysql u p show databases 檢視所有的資料庫 create database weixin 建立乙個名為weixin的資料庫 mysql use weixin 選擇使用weixin資料庫 mysql set names utf8 設定客戶...

mybatis的一些函式使用

case when user.null then user.返回的資料 when user.is null then 男 返回的資料 else user.end 列名 自己定義同別名 這是拼接列的資料 distinct 是去重複 select group concat distinct name f...