[英]Oracle To_Char function How to handle if it's already a string
場景:我正在調用一個返回用戶輸入字段的函數。該字段通常返回一個類似'120000'的數字,然后我使用to_char轉換為'120,000'。
問題:某些用戶輸入的值為“120,000”,這在嘗試使用to_char時會出錯。 如果沒有找到值,該函數也將返回一個空格''。 我之前嘗試過to_number的東西,並且它有''我相信'的問題。
問題:處理此問題的最佳方法是什么? 案例陳述檢查','? 使用to_number然后to_char?
注意:我可以一起破解解決方案我只是想知道處理這個問題的最佳方法是什么。
您應該使用功能更強大的REGEXP_REPLACE
功能,而不是使用REPLACE。 http://www.orafaq.com/wiki/REGEXP_REPLACE
然后,您可以從字符串中刪除任何非數字字符,然后根據需要對其進行格式化。
在你的情況下,它將是這樣的:
REGEXP_REPLACE(<your field>, '[^0-9]+', '');
這將使用null替換所有非數字字符,從而有效地將其從字符串中刪除。
也請參閱此答案: Oracle:替換字符串中的非數字字符
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.