SQL 函数的超难有关问题,完全没有头绪
SQL 函数的超难问题,完全没有头绪啊
获取出来的数据
t job(decimal(18,1))
X 4.0
X 3.6
X 4.1
X 4.5
X 1.5
X 1.1
X 2.5
X 2.0
X 3.7
问题来了
job 列:我现在想把
问题1:( X.X>X.0 并且 X.X<X.5 ) 结果是 X.0
问题2:( X.X>X.5 并且 X.X<(X+1) ) 结果是 X.0+1
问题3:( X.X=X.5 ) 结果是 X.5
以下是我想要的结果
t job(decimal(18,1))
X 4.0
X 4.0
X 4.0
X 4.5
X 1.5
X 1.0
X 2.5
X 2.0
X 4.0
请问大神,应该如何解决?
------解决思路----------------------
获取出来的数据
t job(decimal(18,1))
X 4.0
X 3.6
X 4.1
X 4.5
X 1.5
X 1.1
X 2.5
X 2.0
X 3.7
问题来了
job 列:我现在想把
问题1:( X.X>X.0 并且 X.X<X.5 ) 结果是 X.0
问题2:( X.X>X.5 并且 X.X<(X+1) ) 结果是 X.0+1
问题3:( X.X=X.5 ) 结果是 X.5
以下是我想要的结果
t job(decimal(18,1))
X 4.0
X 4.0
X 4.0
X 4.5
X 1.5
X 1.0
X 2.5
X 2.0
X 4.0
请问大神,应该如何解决?
------解决思路----------------------
--查询我觉得可以直接CASE,不过,不知道你是要查询还是更新
SELECT t
,CASE WHEN job%1=0.5 THEN job
ELSE ROUND(job,0) END
FROM TB
--更新
UPDATE TB
SET job=CASE WHEN job%1=0.5 THEN job
ELSE ROUND(job,0) END