mysql 大於lg MySQL字串列與整數比較

2021-10-20 22:20:53 字數 960 閱讀 2285

一、問題說明

為了簡便在儲存時我們經常將整型欄位也以字串形式儲存(如id值),但在篩選比較時就需要將該字段轉為數值型別。

二、處理辦法

2.1 使用cast函式進行型別轉換

cast函式格式----cast(column_name as target_value_type),例如現有edb_id欄位將其轉為整型:cast(edb_id as signed)

cast函式支援型別---- 二進位制(binary)、字元型(char())、日期 (date)、時間(time)、日期時間型(datetime)、浮點數(decimal) 、整型(signed)、無符號整數(unsigned)

整句形如----select * from edb_records where cast(edb_id as signed) > 40000;

2.2 使用convert函式進行型別轉換

convert和cast功能和用法是一樣的,只是引數格式不一樣。

convert函式格式----convert(column_name, target_value_type),例如現有edb_id欄位將其轉為整型:convert(edb_id, signed)

整句形如----select * from edb_records where convert(edb_id, signed) > 40000;

三、字串比較形式說明

整型篩選----select * from edb_records where cast(edb_id as signed) > 40000;----此條語句返回所有edb_id作為數值時大於40000的記錄。

字元型篩選----select * from edb_records where edb_id > '40000';----此條語句返回所有edb_id作為數值時大於40000的記錄外,因為是字串比較所以edb_id為999等的記錄也將會返回。

參考:

MySQL 大於小於比較問題

drop table ifexists access log create table access log aid int 11 not null auto increment,site id int 11 not null default 0 comment id count int 11 no...

mysql總分大於250的同學 mysql 筆記

mysql 的安裝 mysql 的安裝比較簡單,但是在 detail configuration 有些注意的地方.mysql 的管理員 root 埠3306 oracle 的管理員 sys 和 system 埠 1521 sql server 的管理員是 sa 埠 1433 建立mysql 資料庫 ...

mysql設定約束大於0 MySQL約束

mysql中約束儲存在information schema資料庫的table constraints中,可以通過該錶查詢約束資訊 常用5種約束 not null 非空約束,指定某列不為空 unique 唯一約束,指定某列和幾列組合的資料不能重複 primary key 主鍵約束,指定某列的資料不能重...