善用ORACLE case when

有时在代码里做一些数据的匹配和转义不是很方便,比如要把修改类型为0的设置为新增,1设置为修改,2设置为删除,返回给前端中文,而不是数字,在前端不帮忙的情况下,如果在代码里做重新赋值,要考虑到有使用到这个sql语句的所以地方,可能很多service层都需要做判断和设值,这样就太麻烦了,考虑到sql语句都是同一条,那么其实就可以在sql语句中实现字段的重新赋值,数据库也为我们提供了相应的方法(当然,其实也可以在代码里提供一个公共的方法,在这个方法里做完一些值的转换,但是这只适用于项目初期,项目后期的话改动就比较麻烦了)

下面直接贴上相关操作的语法,按需操作就好了

CASE

  WHEN condition1 THEN result1

  WHEN condistion2 THEN result2

  ...

  WHEN condistionN THEN resultN

  ELSE default_result

END

通过以上语法,可以把符合条件的值转换成开发想要的结果,从根源上做字段的一些转换,也方便许多。

原创文章 358 获赞 387 访问量 7万+

猜你喜欢

转载自blog.csdn.net/weixin_38106322/article/details/105552285