gpt4 book ai didi

sql-server - 在 varchar 数据类型上替换 .0

转载 作者:行者123 更新时间:2023-12-04 12:31:59 26 4
gpt4 key购买 nike

我有一个带有 .0 数字的 varchar 列

这一列既有数值数据也有非数值数据。

我首先尝试将数据类型转换为整数,但由于存在非数字数据类型,所以它不会让我。

如何删除 .0(从所有带有 .0 的数字中删除)?

所以,例如,100.0 应该是 100

我没有尝试使用 select、cast 或 truncate,因为我需要实际修改现有数据。

谢谢。

enter image description here

最佳答案

由于该列同时包含数字和非数字数据,因此仅检查它是否以 '.0' 结尾是不够的。
您还应该检查它是否是一个数值,这可以通过 TRY_CAST() 来完成。 :

UPDATE tablename
SET col = LEFT(col, LEN(col) - 2)
WHERE col LIKE '%.0' AND TRY_CAST(col AS FLOAT) IS NOT NULL

参见 demo .

关于sql-server - 在 varchar 数据类型上替换 .0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68459955/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com