MySQL常用型別轉換函式總結

2021-10-10 05:30:08 字數 1872 閱讀 5375

1、concat函式。

連線字串常用:concat函式。如sql查詢條件的like查詢, and c.name like concat(#,'%')

將int 轉為varchar經常用 concat函式,比如concat(8,'0') 得到字串 '80' 

2、cast函式;convert函式。

用法:cast(expr as type), convert(expr,type) , convert(expr using transcoding_name).

select convert('abc' using utf8);
將varchar 轉為int 用 cast(str as unsigned) str為varchar型別的字串 。

比如常用的百分比轉換:

select cast((1/3)*100 as unsigned) as percent from dual;

result: 33

mysql型別轉換函式引數 : cast(*** as 型別) , convert(***,型別) 

這個型別 可以是以下值其中的 乙個: 

binary[(n)]

char[(n)]

date

datetime

decimal

signed [integer]

time

unsigned [integer]

mysql> select binary 'a' = 'a';

-> 0

3、if函式

mysql中if是函式而不是命令

if(expr1,expr2,expr3) 

如果 expr1 為真(expr1 <> 0 以及 expr1 <> null),那麼 if() 返回 expr2,否則返回 expr3。if() 返回乙個數字或字串,這取決於它被使用的語境: 

mysql> select if(1>2,2,3);

-> 3

mysql> select if(1<2,'yes','no');

-> 'yes'

mysql> select if(strcmp('test','test1'),'no','yes');

-> 'no'

如果 expr2 或 expr3 明確地為 null,那麼函式 if() 的返回值型別為非 null 列的型別。(這在選擇在 mysql 4.0.3 中新加入)。 expr1 是作為乙個整數值被計算的,這就意味著,如果測試的是乙個浮點型或字串值,就必須進行比較操作: 

mysql> select if(0.1,1,0);

-> 0

mysql> select if(0.1<>0,1,0);

-> 1

在上面第一種情況下,if(0.1) 返回 0,是因為 0.1 被轉換為乙個整數值,返回 if(0) 的測試結果。這可能不是你所期望的。在第二種情況下,比較測試原浮點數是否為乙個非零值。比較的結果被作為整數使用。 預設的 if() 返回值型別 (當結果儲存在臨時表中時,這是非常重要的) 在 mysql 3.23 中按下列方式確定: 表示式 返回值  

表示式(expr2)或表示式(expr3)返回值為字串 字串  

表示式(expr2)或表示式(expr3)返回值為浮點型值 浮點型  

表示式(expr2)或表示式(expr3)返回值為整型 整型  

如果表示式(expr2)和表示式(expr3)均是字串,同時兩個字串均是忽略字母大小寫的,那麼返回值也是忽略字母大小寫的(從 mysql 3.23.51 開始)。

mysql 函式型別轉換 mysql 型別轉換函式

mysql 型別轉換函式 12.8.cast函式和操作符 binary binary操作符將後面的字串拋給乙個二進位制字串。這是一種簡單的方式來促使逐字節而不是逐字元的進行列比較。這使得比較區分大小寫,即使該列不被定義為 binary或 blob。binary也會產生結尾空白,從而更加顯眼。mysq...

mysql常用轉換函式 Mysql常用函式

ip位址轉換 inet aton 將ip位址轉換成數字型 inet ntoa 將數字型轉換成ip位址 phpip位址相互轉換 ip 轉整型 ip2long 133.114.56.135 轉整型後帶符號 2056111993 bindec decbin ip2long 133.114.56.135 轉...

mysql 型別轉換函式

12.8.cast函式和操作符 binary binary操作符將後面的字串拋給乙個二進位制字串。這是一種簡單的方式來促使逐字節而不是逐字元的進行列比較。這使得比較區分大小寫,即使該列不被定義為 binary或 blob。binary也會產生結尾空白,從而更加顯眼。mysql select a a ...