sql條件字段值型別轉換問題

2021-08-31 08:26:16 字數 476 閱讀 8987

今天發現乙個有趣的問題:users表中存在id為1、2、3的三條記錄,當我執行以下sql查詢資料庫時,

select * from users where id = '1.html';
竟然發現可以查詢出id為1的user記錄資訊,有點意外。

修改字段屬性,將id由int型別轉換為varchar型別後,執行上一條sql,查詢結果為空。由此可見,當執行sql時,首先欄位的值根據字段型別進行轉換,比如:(int)『1.html』 => 1, (varchar)『1.html』 => 『1.html』.查詢出不同結果也就很好解釋了。

假如users表id的int型別保持不變,使用如下sql進行查詢:

select * from users where id = '1.1html';
字段值型別轉換時將(int)『1.1html』 => 1.1,由於不存在相同id的記錄,查詢結果也為空。

sql條件字段值型別轉換問題

今天發現乙個有趣的問題 users表中存在id為1 2 3的三條記錄,當我執行以下sql查詢資料庫時,select from users where id 1.html 竟然發現可以查詢出id為1的user記錄資訊,有點意外。修改字段屬性,將id由int型別轉換為varchar型別後,執行上一條sq...

抽取sql欄位型別轉換規範

字元型varchar2 replace replace replace trim address remark chr 9 chr 13 chr 10 chr 10 chr 9 日期型date to char sell date,yyyymmddhh24miss chr 9 數值型number to...

Mongodb 字段型別轉換

原文傳送門 最近一些專案由於歷史原因,字段型別儲存混亂,比如乙個collection裡modifeddate列,有的存的是isodate型別,有的是numberlong時間戳,這在mongodb中是嚴重不推薦的,需要轉換成統一的。mongodb並不提供alter table這樣的語句或者工具,只能寫...