ドットの後の値が.10未満の場合、x列を余分なゼロで更新する作業クエリを見つけたり作成したりできないようです-列xに値があります。
7.3
5.3
0.14
列を更新しようとしているので、ドットの後の値が .10 を下回るとゼロが追加されます。上記の例は最終的に次のようになる必要があります。
7.03
5.03
0.14
mysql UPDATE-query を使用してこれを行う方法はありますか?
どうもありがとう。
このような操作の背後にあるアイデアはよくわかりませんが、非常に簡単です。
SELECT CASE
WHEN INSTR(id, '.') = 0 THEN id
ELSE CASE
WHEN CAST(SUBSTRING_INDEX(id, '.', -1) AS UNSIGNED) < 10 THEN
CONCAT(SUBSTRING_INDEX(id, '.', 1), '.0', CAST(SUBSTRING_INDEX(id, '.', -1) AS UNSIGNED))
ELSE id
END
END as result
FROM table_name
UPDATE table_name SET id = CASE
WHEN INSTR(id, '.') = 0 THEN id
ELSE CASE
WHEN CAST(SUBSTRING_INDEX(id, '.', -1) AS UNSIGNED) < 10 THEN
CONCAT(SUBSTRING_INDEX(id, '.', 1), '.0', CAST(SUBSTRING_INDEX(id, '.', -1) AS UNSIGNED))
ELSE id
END
END
ただし、これを使用する前に、スキーマと何をしようとしているのかをもう一度考えてください。その時は必要ないと思います。