例如,我輸入號碼,它會輸入格式號碼。如何在mysql中刪除多餘的零?
if I input 0010,it return 10;
if I input 0.0200,it return 0.02;
if I input 0.10,it return 0.1;
我嘗試使用此代碼,但它不work.Can我定義的函數或存儲過程中封裝這個業務功能?
select rtrim(00.40)
例如,我輸入號碼,它會輸入格式號碼。如何在mysql中刪除多餘的零?
if I input 0010,it return 10;
if I input 0.0200,it return 0.02;
if I input 0.10,it return 0.1;
我嘗試使用此代碼,但它不work.Can我定義的函數或存儲過程中封裝這個業務功能?
select rtrim(00.40)
TRIM() + 0
能訣竅:
select trim(0010)+0, trim(0.0200)+0, trim(0.10)+0 from dual
輸出:
+--------------+----------------+--------------+
| trim(0010)+0 | trim(0.0200)+0 | trim(0.10)+0 |
+--------------+----------------+--------------+
| 10 | 0.02 | 0.1 |
+--------------+----------------+--------------+
1 row in set
這究竟是如何更好比'SELECT 0010,0.0200,0.10'? –
如果有空格(由於用戶輸入),輸出將會不同。別的,是的,沒有區別。 – mitkosoft
你錯過了......你(和OP)正在使用***數字*** - 而不是字符串。你可以在數字周圍放置儘可能多的空白,你不會改變它。例如。 'SELECT 0010,0.0200,0.10'_注意:直到OP能夠弄清楚他/她想問什麼,問題不清楚,應該關閉。最好是重複的。你的回答(以及幾乎任何答案)只是增加了無意義。[ –
嘗試這種方式
SELECT TRIM(TRAILING '0' FROM Youvalue)
FROM ...
前。
SELECT TRIM(TRAILING '0' FROM '0.0200')
FROM dual
請參考以下鏈接http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_trim
你 「輸入」 是多少?那是什麼意思? 0010 *是* 10和0.0200 *是* 0.02。大多數GUI工具在選擇時顯示最簡單的數字版本,因此您可以準確獲取所需內容。例如:http://sqlfiddle.com/#!9/9eecb7d/56241。你會得到什麼?你總是可以用'FORMAT'將一個數字格式化爲一個字符串;看到這裏:http://dev.mysql.com/doc/refman/5.7/en/string-functions.html#function_format –
是的,我的意思是選擇號碼。 – flower
使用'trim()+ 0',見下面;) – mitkosoft