oracle中where條件中型別的隱式轉換

2021-08-28 12:35:20 字數 366 閱讀 7493

sql的where條件中,等式兩邊型別不一致時,資料庫會做一次隱式型別轉換。

如果是數字型別(諸如number,double,integer等)的話,會預設的把帶引號的轉成數字再進行查詢,也就是說帶引號和不帶引號是一樣的。

select * from t where to_number(char_col) = num_val

oracle會從「大」型別轉換到「小」型別。

oracle會在char型別的值或字段上進行to_number或to_date轉換。而不會在number或date上做to_char操作。

同樣,如果是字元型別,這一列都是數字,那麼你不帶引號的數字也會被oracle預設轉成字元型別。但如果這一列不全是數字,那麼必須帶引號。

thinkphp中查詢,where條件集合寫法

1 字串模式查詢 string 查詢多個 與 條件中巢狀 與 條件 陣列條件可以和字串條件 採用 string 作為查詢條件 混合使用,例如 user m user 例項化user物件 map id array neq 1 map name ok map string status 1 and sc...

Thinkphp中where 條件的使用

where方法的用法是thinkphp查詢語言的精髓,可以完成包括普通查詢 表示式查詢 快捷查詢 區間查詢 組合查詢在內的查詢操作。where方法的引數支援字串和陣列,雖然也可以使用物件但並不建議。示例 user m user 例項化user物件 user where type 1 and stat...

SQL中on條件與where條件的區別

資料庫在通過連線兩張或多張表來返回記錄時,都會生成一張中間的臨時表,然後再將這張臨時表返回給使用者。在使用left jion時,on和where條件的區別如下 1 on條件是在生成臨時表時使用的條件,它不管on中的條件是否為真,都會返回左邊表中的記錄。2 where條件是在臨時表生成好後,再對臨時表...