0
我有兩個表在不同的數據類型中具有相同的值。可以使用int將CHARACTER(2)轉換爲DB2中的SMALLINT嗎?
一個是CHARACTER
長度2,另一個是SMALLINT
。
如何在where子句中比較兩者?我有INT(CHAR_COLUMN_X) = SMALLINT_COLUMUN_X
。這很好還是我忽略了一些東西?
我有兩個表在不同的數據類型中具有相同的值。可以使用int將CHARACTER(2)轉換爲DB2中的SMALLINT嗎?
一個是CHARACTER
長度2,另一個是SMALLINT
。
如何在where子句中比較兩者?我有INT(CHAR_COLUMN_X) = SMALLINT_COLUMUN_X
。這很好還是我忽略了一些東西?
這應該沒問題。如果它是一個SMALLINT
列,那麼你可以只去那,而不是一個INT
CAST(CHAR_COLUMN_X AS SMALLINT) = SMALLINT_COLUMN_X
如果在CHAR_COLUMN_X值不是強制轉換爲一個SMALLINT(一個字母,例如),那麼DB2將拋出一個-420
SQL Code。
是的,得到-420 :(是否有解決方法? – San 2013-03-13 17:14:18
那麼,如果它不是一個數字,你會如何將它轉換爲數字?基本上,你問什麼取決於你的應用程序,但總的來說,沒有'X'不能轉換爲'24'。:) – bhamby 2013-03-13 18:33:33
不,我在尋找的是轉換,如果可能的話,抑制錯誤,否則返回不匹配。 – San 2013-03-15 09:02:30