select FTEMP,FPRECP,FWS10,FWD10,FRH,FVAPOR from 表名 where (FSTATIONNUM='odr.GetOracleString(0).ToString()' and (FOBSTIME = to_date('strdate','yyyy-mm-dd hh24:mi:ss')))
提示錯誤:ORA-01841: (完整) 年份值必須介于 -4713 和 9999 之間, 且不為 0
換成下面這樣就可以
select FTEMP,FPRECP,FWS10,FWD10,FRH,FVAPOR from 表名 where (FSTATIONNUM='11111' and FOBSTIME =to_date('2016-11-29 11:00:00','yyyy-mm-dd hh24:mi:ss'))
為什么我用變數就不行?
而且變數我加單引號就提示:ORA-01841: (完整) 年份值必須介于 -4713 和 9999 之間, 且不為 0
不加單引號就提示:識別符號無效
uj5u.com熱心網友回復:
按你這種把變數名直接拼接到sql中,他會認為這是你要運算(或比較)的值。建議使用系結變數的形式!
uj5u.com熱心網友回復:
String sql = String.Format("select FTEMP,FPRECP,FWS10,FWD10,FRH,FVAPOR from 表名" +
" where (FSTATIONNUM='{0}'" +
" and (FOBSTIME = to_date('{1}','yyyy-mm-dd hh24:mi:ss')))",
odr.GetOracleString(0).ToString(),
strdate);
uj5u.com熱心網友回復:
odr.GetOracleString(0).ToString() 這樣的變數是c#里面的,oracle的sql不認識。加單引號后,屬于常量,不是有效的時間格式
采用2樓的方法就可以啦
uj5u.com熱心網友回復:
學習了!!!轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/112134.html
標籤:開發
上一篇:關于hibernate 新手求教
