2016-09-20 4 views
0

後、私はMySQLのテーブルで、このdecimal(20,2)コラム持ってできるように、10進数の列を更新します:MySQLの - どのように私はより多くの桁がドット

no 
------- 
10.001 
10.009 
10.010 
10.011 
10.099 
.. 
10.100 
10.101 
に10進値を更新する最も簡単な方法は何ですか

no 
----- 
10.01 
10.09 
10.10 
10.11 
10.19 
10.99 

私だけdecimal(20,3)に列を変更すると、私は10.010、10.020は... 10.990

+0

あなたが説明してください何をしたいですか? –

+0

フィールドタイプを変更しても、値が変更されるべきではありません。また、mysqlはまったく同じように動作します。値を手動で更新して、必要なものを達成する必要があります。 –

+0

下の私の答えをチェックしてください。あなたの問題を解決しますか? – rbr94

答えて

2

動作しなければならないことがあります。

UPDATE TableName 
SET no = no DIV 1 + MOD(no, 1)/10 

は、2次関数は、次の手順を実行します

no DIV 1 => 10.019 DIV 1 = 10 
MOD(no, 1) => MOD(10.019, 1) = 0.019 
+0

この値( 'decimal(20,3)')を保持するには一時的な列が必要でしょう – 1000111

+0

型を小数点以下(20,3)に変更してからUPDATE TableNameを実行してください SET no = no DIV ... ' 「重複エントリ '509.010' Collumnデータ変更のフォーマット後、実行UPDATEの前に:。 '509.010 509.020 509.030 509.040 509.050 509.060 509.070 509.080 509.090 509.100 509.110 509.120' –

+0

あなたはすべてのことに言及しませんでしたこの番号は一意でなければなりません! – rbr94

関連する問題