MySQL資料庫varchar轉int型別的方法

2021-10-08 11:23:57 字數 898 閱讀 5384

【mysql】varchar轉int型別的方法(cast函式的使用)

1、問題描述:

獲取乙個表user中age的最大值。(由於歷史原因,age是varchar型別的)

2、問題解決:

方案一:

select max(cast(*** as unsigned integer)) from user;

方案二:

select * from user order by cast(*** as unsigned integer) limit 1;

3、說明:

在使用cast函式轉換型別時,可以轉換的型別是有限制的。這個型別可以是以下值其中的乙個。也就是說,unsigned 可以替換成:

4、網友總結:

在sql server中,cast函式用於將某種資料型別的表示式顯式轉換為另一種資料型別。cast()函式的引數是乙個表示式,它包括用as關鍵字分隔的源值和目標資料型別。

語法:cast (expression as data_type)

引數說明:

expression:任何有效的sqserver表示式。

as:用於分隔兩個引數,在as之前的是要處理的資料,在as之後是要轉換的資料型別。

data_type:目標系統所提供的資料型別,包括bigint和sql_variant,不能使用使用者定義的資料型別。

使用cast函式進行資料型別轉換時,在下列情況下能夠被接受:

(1)兩個表示式的資料型別完全相同。

(2)兩個表示式可隱性轉換。

(3)必須顯式轉換資料型別。

如果試圖進行不可能的轉換(例如,將含有字母的 char 表示式轉換為 int 型別),sqserver 將顯示一條錯誤資訊。

如果轉換時沒有指定資料型別的長度,則sqserver自動提供長度為30。

mysql 資料庫varchar儲存漢字

具體還是要看版本的 4.0版本以下,varchar 100 指的是100位元組,如果存放utf8漢字時,只能存33個 每個漢字3位元組 5.0版本以上,varchar 100 指的是100字元,無論存放的是數字 字母還是utf8漢字 每個漢字3位元組 都可以存放100個。自己在資料庫中建個表測試下可...

mysql資料庫varchar儲存漢字

具體還是要看版本的 4.0版本以下,varchar 100 指的是100位元組,如果存放utf8漢字時,只能存33個 每個漢字3位元組 5.0版本以上,varchar 100 指的是100字元,無論存放的是數字 字母還是utf8漢字 每個漢字3位元組 都可以存放100個。自己在資料庫中建個表測試下可...

資料庫關於varchar和nvarchar的區別

unicode字符集就是為了解決字符集這種不相容的問題而產生的,它所有的字元都用兩個位元組表示,即英文本元也是用兩個位元組表示 如果還為了這個糾結,就直接看看後面的解說,做決定吧。一般如果用到中文或者其它特殊字元,我就會使用n開頭的型別,否則的話直接使用var開頭的。sql server中的varc...