select .5 as colm from dual;
格式給出0.5
作爲輸出十進制數字和貨幣在甲骨文
但
select .5||'$' as colm from dual;
給.5$
作爲結果。爲什麼我沒有收到0.5$
如何在第二個查詢中實現0.5$
?
select .5 as colm from dual;
格式給出0.5
作爲輸出十進制數字和貨幣在甲骨文
但
select .5||'$' as colm from dual;
給.5$
作爲結果。爲什麼我沒有收到0.5$
如何在第二個查詢中實現0.5$
?
甲骨文設置:
CREATE TABLE your_table (value) AS
SELECT 0.5 FROM DUAL UNION ALL
SELECT 5 FROM DUAL;
查詢:
SELECT value,
REGEXP_REPLACE(
TO_CHAR(value, 'FM9999999990.99'),
'\.$'
) || '$' AS formatted_value,
CASE
WHEN TRUNC(value) = value
THEN TO_CHAR(value, '9999999990')
ELSE TO_CHAR(value, 'FM9999999990.99')
END || '$' AS alternate_value,
TO_CHAR(value, '9999999990.99L') AS currency_value
FROM your_table;
輸出:
VALUE FORMATTED_VALUE ALTERNATE_VALUE CURRENCY_VALUE
----- --------------- --------------- --------------
0.5 0.5$ 0.5$ 0.50$
5 5$ 5$ 5.00$
'正則表達式'對此太簡單了。 –
@MaheswaranRavisankar如果OP想要一個可選的小數點,那麼他們將不得不做一些處理來確定小數點是否必要。我添加了一個非正則表達式選項,可以給出相同的結果。 – MT0
您無法將「NUMBER」字段與字符串字段連接起來。
在你的情況.5是一個數字,'$'是一個字符串。所以,如果你想你的結果是「0.5 $」你必須通過0.5爲如下字符串: -
select '0.5'||'$' as colm from dual;
'src作爲 (選擇.5作爲colm與雙) select colm ||'$'as new_col from src'在這種情況下,這個技巧不會幫助 –
它會一直工作,正如我之前說的,你不能連接一個數字用一個字符串。兩者都必須是字符串。對於上面的查詢,你可以使用 'src作爲(選擇'0.5'作爲colm從雙)select colm ||'$'as new_col from src' – Sid
如果你只需要連接.5而不是'0.5 '然後通過在oracle中執行** TO_CHAR(.5)**或在mssql中執行** cast(.5 as varchar)**來將.5轉換爲字符串。 – Sid
追加相反的,我們可以做如下圖所示。以預期格式格式化貨幣。
select TO_CHAR(.5,'FM999999990.099999999$') as colm from dual;
否則,你仍然可以Concat的貨幣符號一樣,
select TO_CHAR(.5,'FM999999990.099999999')||'$' as colm from dual;
關鍵是你必須在連接前明確提到的數字格式。
格式模型在文檔中有很好的介紹。 Read it here。
你能告訴我在這種情況下什麼是'FM0.99999999'? –
'選擇TO_CHAR(5,'FM0.99999999')||'$'作爲new_col from dual'它給我只需5. $ –
只需使用可用的格式,匹配您的偏好'FM999999990.99999999 $' –
你喜歡WR ite $
作爲一個常量字符串還是您的本地貨幣符號(US-Dollars)?
在後一種情況下,該解決方案可以爲你工作:
SELECT TO_CHAR(0.5555, 'fm999999990D99L') from dual;
見TO_CHAR - Number Format Elements:在指定位置
- 大號
返回本地貨幣符號(在 電流值的NLS_CURRENCY參數)。
提示:這取決於客戶如何顯示數字。 –
在目標表中,值被加載爲'0.5 $',所以當我做一個減號失敗,那麼有沒有什麼辦法像轉換爲字符串或轉換數據類型? –
@sure https://duckduckgo.com/?q=oracle+convert+number+to+string&t=ffsb&ia=qa但是,什麼是用例,你是如何達到這種情況的? –