查询我的sql的简单条件


Query for simple condition of my sql

我想写一个简单的查询。检查整列,如果列在点后包含一个值,例如(5.1,2.6,3.7,0.3等),则该值中仅加0.01

您可以将读取字段的方式更改为:

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语句,这样查询将只更新只有一个小数的行。

让我们尝试以下想法:

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,我们将获得所需的输出。