MYSQL 資料型別強制轉換導致資料超預期

2021-07-25 11:55:08 字數 822 閱讀 5942

-- sql語句

select

`t`.`module_id`,

`ra`.`table_id` -- t.*, ra.*

from

sys_user_auth as t

join

`sys_table`

as`ra`

on`t`.`module_id` = `ra`.`table_id`

and t.user_role_id = 3

and t.module_type = 0;

-- 查詢結果

--n00 0

-- 字段資料型別

module_id varchar(10)

table_id bigint

-- 測試

select

cast('n00'

as signed integer)

--0

-- 強制轉換導致結果集異常

-- 修改sql

select

`t`.`module_id`,

`ra`.`table_id` -- t.*, ra.*

from

sys_user_auth as t

join

`sys_table`

as`ra`

on`t`.`module_id` = concat(`ra`.`table_id` )

and t.user_role_id = 3

and t.module_type = 0;

參與計算的資料型別應該盡量一致,不一致建議手工轉格式,避免異常問題。

JavaScript資料型別強制轉換

我的個人部落格 基本資料 number,boolean,undefined,null,string 引用資料 object 當0.000 01,小數點後大於等於7位時會自動轉換成科學計數法 當20000 00,當整數部分大於等於22位時會自動轉換成科學計數法。console.log number 1...

強制資料型別轉換之Number型別

強制型別轉換 1.定義 指將乙個資料型別強制轉換為其他的資料型別 型別轉換主要指,將其他的資料型別,轉換為string number,boolean 將其他的資料型別轉換為number 方式一 使用number 函式 字串 數字 1.如果是純數字的字串,則直接將其轉換為數字 2.如果字串中有非數字的...

3 18資料型別與強制轉換

一 基本資料型別轉換 輸出之後是1,因為byte的容量比int少 字元與數字可以相互運算 char a byte b0 2 int k c b0 system.out.println k 執行結果是99 為什麼會這樣?因為存在ascii碼 任何型別的值和字串進行運算時 基本型別的值將自動轉換為字串型...