2011-09-22 13 views
1

好的。這裏有一些背景知識:我已經創建了一個簡單的APEX應用程序,它將取代一些靜態HTML頁面,Access數據庫和大量的手動工作。用戶使用該應用程序向我的團隊提交工作請求,並在提交表格後將信息以「收據」的形式提交給他們,並附有新的「請求#」,他們可以使用類似於UPS追蹤號碼的方式進行查詢他們的項目。該號碼是提交表的主鍵,並且通過序列自動遞增。迄今爲止,這一切都很完美。使用SQL在Oracle APEX中連接數字

我的問題是,自動遞增工作,我的PK顯然必須是一個'數字'。再次不是一個真正的問題。問題是,在遷移到APEX工具之前,我們的'請求#'被格式化爲8位數字的字符串,並且在實際數字的左邊有必要數量的零(0)。所以請求#789實際上存儲爲我們的Access數據庫中的00000789。我的老闆已經表示,當#在APEX工具中顯示時,也需要模仿這種相同的格式,因爲這是我們的客戶習慣看到的。

我需要請求#繼續存儲爲一個數字,以便我可以繼續自動遞增,但我需要找到一些方法來追加/連接適當數量的0到數字的前面被展示。這可能需要用SQL來完成。我目前使用這個簡單的SQL腳本來顯示#:

SELECT req_num 
FROM proj_apex 
WHERE req_num = (SELECT MAX(req_num) FROM proj_apex) 

想法?任何APEX或SQL開發人員都有想法?

回答

2
select to_char(req_num, '00000009') ... 

http://www.techonthenet.com/oracle/functions/to_char.php

+0

完美!感謝您幫助一個低級的新手。不能要求更乾淨,更簡單的做法! – Spags

+0

不客氣。至少我的回答也很簡潔。 –

+0

再次問候。我有一個類似的問題,上面的一個。我現在需要做到這一點,但有一個格式掩碼似乎不支持基於我自己的測試(ORA-01481:無效數字格式模型)和上面發佈的文章。基本上我需要的是相當於此的功能:select to_char(req_num,'EA-0009')。有什麼想法嗎? – Spags