當我使用PHP OCI從Oracle數據庫執行提取操作時,小於1的數字顯示爲.XXXXXX,
.249999
。有沒有辦法將此設置爲0.XXXXXX
或任何其他格式,而不修改每個查詢以明確使用to_char()
? (?也許通過一些會話參數)PHP OCI,Oracle和默認數字格式
3
A
回答
0
沒有辦法做你在全球範圍內要求修改php/oci-extension源代碼的東西。這種行爲的原因是因爲oracle oci在結果中省略了0,並且php根據列數據類型將所有結果從oci轉換爲字符串,而不執行任何轉換。即使SQL * Plus中的結果默認爲0,也必須使用set numformat
調用SQL * Plus格式來自定義列格式並預置0。
當前沒有可以設置更改此行爲的alter session參數。
解決此問題的最常見方法是在查詢周圍使用包裝並檢查數字列與is_numeric
,然後使用number_format
或sprintf
格式化數值列值。希望你的應用程序已經使用了股票php oci函數的包裝,所以你可以在一個位置進行更改。
2
使用PHP,你可以輕鬆地添加0,通過轉換爲浮動:
$a = '.249999';
echo (float) $a;
這意味着你可以通過
$row['number'] = (float) $row['number'];
轉換你的電話號碼獲取之後來自DB。
相關問題
- 1. Symfony2默認數字格式
- 2. Zend Oracle默認日期格式
- 3. double,無數字默認格式
- 4. 正則表達式PHP字母,數字和默認符號
- 5. 默認字數爲Php
- 6. PHP,IIS,Oracle(OCI)不起作用
- 7. Oracle默認值
- 8. Oracle ODBC默認數據庫
- 9. 數字格式在oracle
- 10. Resharper默認格式和規則列表
- 11. 使用Oracle調用接口(OCI)檢測具有默認值的列
- 12. 默認數據格式(本地化)
- 13. 默認構造函數C++格式
- 14. Matplotlib默認日期格式?
- 15. 日期的默認格式
- 16. matplotlib - 改變默認格式
- 17. 顯示默認格式
- 18. Jsp默認日期格式
- 19. PHP和Oracle之間的等待時間長OCI
- 20. Oracle APEX - 使用默認值設置表格形式
- 21. 與默認字符串連接(Procedure Oracle)
- 22. PHP數字格式
- 23. 如何從OCI調用ORACLE函數?
- 24. 力情況與OCI在PHP(oracle數據庫)
- 25. Oracle - OCI查詢超時
- 26. 在awk中設置默認數字格式
- 27. 如何更改Excel中的默認數字格式?
- 28. 在R中更改默認數字格式
- 29. 如何在Clojure中設置默認數字格式?
- 30. 將Oracle設置表字段默認值的公式推
感謝您的回答,但我正在尋找一種方法在全球範圍內進行更改。我們有很多需要更改的查詢,這會花費太多精力。 – Dario 2010-11-26 11:11:21