如何轉換字符串字段並將其用於Where clause.Am獲取這樣的異常請幫助找到錯誤的東西。將字符串轉換爲int,並在Where子句中使用
select * from student
where (cast (nvl(linerevnum,'0') as int)) = 1
linerevnum是VARCHAR2
例外: 無效號碼
如何轉換字符串字段並將其用於Where clause.Am獲取這樣的異常請幫助找到錯誤的東西。將字符串轉換爲int,並在Where子句中使用
select * from student
where (cast (nvl(linerevnum,'0') as int)) = 1
linerevnum是VARCHAR2
例外: 無效號碼
僅是數字
select * from student
where
(
case when ISNUMERIC(linerevnum)
then cast (linerevnum as int)
else null
end ) = 1
或簡單,當比較:
select * from student
linerevnum = '1'
謝謝你,你是對的。到'null'該列中的字符串。 – sunleo
GOOGLERS !!!在'CAST() – webLacky3rdClass
@ webLacky3rdClass,MYSQL?'中更改'int'爲'SIGNED','UNSIGNED'或'DECIMAL(xx)'bare int無效。誰在談論MYSQL?它是[oracle cast](https://docs.oracle.com/cd/B19306_01/server.102/b14200/functions016.htm)函數。 GOOGLERS是一種侮辱嗎? UNREADERS,在寫評論之前閱讀標籤;) – danihp
這是因爲,一些行,在該列中存儲有非數字值。 – danihp
即使檢查null也發生同樣的事情。謝謝你的回覆。更新了問題。 – sunleo
他從來沒有說過null,他說非數字值...閱讀兼容性在這裏http://docs.oracle.com/javadb/10.6.2.1/ref/rrefsqlj33562.html – SriniV