我想写一个简单的查询。检查整列,如果列包含一个点之后的值,例如(5.1,2.6,3.7,0.3等)那么它只是加上该值的0.01
答案 0 :(得分:0)
您可以将阅读字段的方式更改为:
select convert(varchar,CONVERT(decimal(10,2),123.1))
如果字段是字符串字段,您可以更新它:
update table set value = convert(varchar,CONVERT(decimal(10,2),value))
如果该字段为十进制,则不能在其后面存储零,并且必须添加该尾随1。
update table set value = CONVERT(decimal(10,1),value) + 0.01
where value == ROUND(value,1)
观察where语句,因此查询只会更新只有一位小数的行。
答案 1 :(得分:0)
让我们尝试以下想法:
select my_value + ((ceil(my_value * 10) = (my_value * 10)) / 100)
from my_table
my_table
是您有价值的表格。my_value
是您尝试查询的值。当且仅当值在my_value * 10
之后有一位数时,.
才是整数。如果数字是整数,则ceil(my_value * 10) = (my_value * 10)
为1,否则为0.因此,当需要添加0.01时,我们得到1,当需要保留时,我们得到0。因此,如果我们将结果除以100并将其添加到my_value
,我们将获得所需的输出。