SQL 函数的超难问题,完全没有头绪啊

月之点点 2015-02-06 08:47:08
获取出来的数据

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


请问大神,应该如何解决?
...全文
77 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
还在加载中灬 2015-02-06
  • 打赏
  • 举报
回复
--查询
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
我觉得可以直接CASE,不过,不知道你是要查询还是更新
月之点点 2015-02-06
  • 打赏
  • 举报
回复
其实就简单理解就是,把X.5的排出,然后其他的四舍五入!@!@! 额- -!

22,210

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server 疑难问题
社区管理员
  • 疑难问题社区
  • 尘觉
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧