我有一個具有數字的Id字段的表。我想查看一下,如果這個數字在$$^$$ ex:$$^$$1265$$^$$
所包圍的表格中,應該與下一個表格中的ID字段1265
相匹配。以下是我迄今爲止:Oracle SQL:NVARCHAR2包含一個數字字段
SELECT *
FROM VarTable a, IDTable b
WHERE CONVERT(NVARCHAR2(400 CHAR), b.id) LIKE a.var_value;`
我也曾嘗試:
SELECT *
FROM VarTable a, IDTable b
WHERE a.var_value LIKE CONVERT(VARCHAR(50), b.id);
底拋出一個「失蹤表達錯誤」和上一個拋出一個「缺少右括號」的錯誤。
任何想法?
這工作完美。我早些時候嘗試使用to_char(),但總是會出錯。 oracle中的'||'串聯?我正在嘗試使用'+'... – LiverpoolFTW
Gordon - 只是好奇:在這種情況下,我通常會讓Oracle爲我隱式投射:'... LIKE'%$$'|| b.id || '$$%''。這是一個壞主意嗎? –
@EdGibbs。 。 。對於'||'來說這是一個好主意,因爲演員陣容很明顯。在其他情況下,比如函數的參數,我爲了可維護性而進行了明確的轉換。因爲我使用了很多SQL Server,所以我一直對字符串連接進行明確的轉換。 SQL Server使用'+'來進行字符串連接,如果沒有顯式的強制轉換,它會產生一個錯誤。 –