日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
帶您深入了解MYSQLCast函數(shù)

MYSQL Cast函數(shù)是非常重要的MYSQL函數(shù),下面就將為您詳細(xì)介紹MYSQL Cast函數(shù)的語法及其使用,希望能讓您對(duì)MYSQL Cast函數(shù)有更多的認(rèn)識(shí)。

BINARY    
BINARY操作符將后面的字符串拋給一個(gè)二進(jìn)制字符串。這是一種簡(jiǎn)單的方式來促使逐字節(jié)而不是逐字符的進(jìn)行列比較。這使得比較區(qū)分大小寫,即使該列不被定義為BINARY或BLOB。BINARY也會(huì)產(chǎn)生結(jié)尾空白,從而更加顯眼。  

 
 
 
  1. mysql>   SELECT   'a'   =   'A';     
  2.       
  3.                   ->   1     
  4.       
  5. mysql>   SELECT   BINARY   'a'   =   'A';     
  6.                    ->   0     
  7. mysql>   SELECT   'a'   =   'a   ';     
  8.                    ->   1     
  9. mysql>   SELECT   BINARY   'a'   =   'a   ';     
  10.                    ->   0    

BINARY影響整個(gè)比較;它可以在任何操作數(shù)前被給定,而產(chǎn)生相同的結(jié)果。    
   
BINARY   str是CAST(str   AS   BINARY)的縮略形式。  
   
注意,在一些語境中,假如你將一個(gè)編入索引的列派給BINARY,   MySQL將不能有效使用這個(gè)索引。    
假如你想要將一個(gè)BLOB值或其它二進(jìn)制字符串進(jìn)行區(qū)分大小寫的比較,你可利用二進(jìn)制字符串沒有字符集這一事實(shí)實(shí)現(xiàn)這個(gè)目的,這樣就不會(huì)有文書夾的概念。為執(zhí)行一個(gè)區(qū)分大小寫的比較,可使用CONVERT()函數(shù)將一個(gè)字符串值轉(zhuǎn)化為一個(gè)不區(qū)分大小寫的字符集。其結(jié)果為一個(gè)非二進(jìn)制字符串,因此LIKE操作也不會(huì)區(qū)分大小寫:   

 
 
 
  1. SELECT   'A'   LIKE   CONVERT(blob_col   USING   latin1)   FROM   tbl_name;     

若要使用一個(gè)不同的字符集,   替換其在上述語句中的latin1名。  
   
CONVERT()一般可用于比較出現(xiàn)在不同字符集中的字符串。     
CAST(expr   AS   type),   CONVERT(expr,type)   ,   CONVERT(expr   USING   transcoding_name)    
CAST()   和CONVERT()   函數(shù)可用來獲取一個(gè)類型的值,并產(chǎn)生另一個(gè)類型的值。    
   
這個(gè)類型   可以是以下值其中的一個(gè):       
BINARY[(N)]    
CHAR[(N)]    
DATE    
DATETIME    
DECIMAL    
SIGNED   [INTEGER]    
TIME    
UNSIGNED   [INTEGER]    
BINARY   產(chǎn)生一個(gè)二進(jìn)制字符串。
   
假如給定了隨意長(zhǎng)度N,則 BINARY[N] 使cast使用該參數(shù)的不多于   N   個(gè)字節(jié)。同樣的,CHAR[N]會(huì)使cast使用該參數(shù)的不多于N   個(gè)字符。    

 
 
 
  1. CAST()   and   CONVERT(...   USING   ...)   是標(biāo)準(zhǔn)SQL語法。CONVERT()的非USING   格式是ofis   ODBC語法。  

帶有USING的CONVERT()   被用來在不同的字符集之間轉(zhuǎn)化數(shù)據(jù)。在MySQL中,   自動(dòng)譯碼名和相應(yīng)的字符集名稱相同。例如。   這個(gè)語句將服務(wù)器的默認(rèn)字符集中的字符串   'abc'轉(zhuǎn)化為utf8字符集中相應(yīng)的字符串:   

 
 
 
  1. SELECT   CONVERT('abc'   USING   utf8);    

 當(dāng)你想要在一個(gè)CREATE   ...   SELECT   語句中創(chuàng)建一個(gè)特殊類型的列,則cast函數(shù)會(huì)很有用:   

 
 
 
  1. CREATE   TABLE   new_table   SELECT   CAST('2000-01-01'   AS   DATE);    

該函數(shù)也用于ENUM   列按詞法順序的排序。通常ENUM列的排序在使用內(nèi)部數(shù)值時(shí)發(fā)生。將這些值按照詞法順序派給   CHAR   結(jié)果:   

 
 
 
  1. SELECT   enum_col   FROM   tbl_name   ORDER   BY   CAST(enum_col   AS   CHAR);    

CAST(str   AS   BINARY)和BINARY   str相同。 CAST(expr   AS   CHAR)將表達(dá)式視為一個(gè)帶有默認(rèn)字符集的字符串。    
   
若用于一個(gè)諸如CONCAT('Date:   ',CAST(NOW()   AS   DATE))這樣的比較復(fù)雜的表達(dá)式的一部分,CAST()也會(huì)改變結(jié)果。  
   
你不應(yīng)在不同的格式中使用CAST()來析取數(shù)據(jù),但可以使用諸如LEFT() 或 EXTRACT() 的字符串函數(shù)來代替。   

若要在數(shù)值語境中將一個(gè)字符串派給一個(gè)數(shù)值,   通常情況下,除了將字符串值作為數(shù)字使用外,你不需要做任何事:   

 
 
 
  1. mysql>   SELECT   1+'1';     
  2.                 ->   2    

若要在一個(gè)字符串語境中使用一個(gè)數(shù)字,該數(shù)字會(huì)被自動(dòng)轉(zhuǎn)化為一個(gè)BINARY   字符串。   

 
 
 
  1. mysql>   SELECT   CONCAT('hello   you   ',2);     
  2.                   ->   'hello   you   2'    

MySQL支持帶符號(hào)和無符號(hào)的64比特值的運(yùn)算。若你正在使用數(shù)字操作符(如   +)  而其中一個(gè)操作數(shù)為無符號(hào)整數(shù),則結(jié)果為無符號(hào)??墒褂肧IGNED   和UNSIGNED   cast   操作符來覆蓋它。將運(yùn)算分別派給帶符號(hào)或無符號(hào)64比特整數(shù)。 

 
 
 
  1. mysql>   SELECT   CAST(1-2   AS   UNSIGNED)     
  2.                   ->   18446744073709551615     
  3. mysql>   SELECT   CAST(CAST(1-2   AS   UNSIGNED)   AS   SIGNED);     
  4.                   ->   -1    

注意,假如任意一個(gè)操作數(shù)為一個(gè)浮點(diǎn)值,則結(jié)果為一個(gè)浮點(diǎn)值,且不會(huì)受到上述規(guī)則影響   (關(guān)于這一點(diǎn), DECIMAL 列值被視為浮點(diǎn)值)。     

 
 
 
  1. mysql>   SELECT   CAST(1   AS   UNSIGNED)   -   2.0;     
  2.                   ->   -1.0     
  3.      

若你在一個(gè)算術(shù)運(yùn)算中使用了一個(gè)字符串,它會(huì)被轉(zhuǎn)化為一個(gè)浮點(diǎn)數(shù)。 

【編輯推薦】

帶您了解mysql CONCAT()函數(shù)

查看三種MySQL字符集的方法

查看MySQL默認(rèn)字符集

MySQL定義外鍵的方法

帶參數(shù)的MySql存儲(chǔ)過程


分享題目:帶您深入了解MYSQLCast函數(shù)
本文地址:http://m.5511xx.com/article/djjccod.html