2015-11-19 97 views
1

我們有一個遺留應用程序,我們無法修改它連接到Oracle 11g,並且在某些時候運行查詢並返回結果。然而,應用程序正在使用Oracle的「生成」列名稱來讀取結果。Oracle在兩個數據庫中生成的列別名不同

考慮下面的查詢:

select nvl(1,0.0) from DUAL; 

由於此查詢不指定別名,生成列名稱將是「NVL(1,0.0)」

然而另一臺服務器生成的列上名稱是「nvl(1,0)」(通知0而不是0.0),並且應用程序失敗。

是否有可以更改爲Oracle的配置?我搜索了格式和區域設置配置,並且它們在兩臺服務器上都是相同的。

任何幫助,將不勝感激

回答

1

原來有這麼被設置爲強制使用完全

select nvl(1,0.0) from DUAL; 

上面的查詢返回根據參數的值下面的參數調用CURSOR_SHARING:

FORCE=NVL(1,0) 
EXACT=NVL(1,0.0) 
相關問題