Oracle case when then else end的两种用法

查询表结构

  

SELECT
       T.COLUMN_ID,
       T.COLUMN_NAME,
       (CASE
         WHEN (T.DATA_TYPE = ‘VARCHAR2‘ OR T.DATA_TYPE = ‘RAW‘) THEN
          T.DATA_TYPE || ‘(‘ || T.DATA_LENGTH || ‘)‘
         WHEN (T.DATA_TYPE = ‘NUMBER‘ AND T.DATA_PRECISION IS NOT NULL) THEN
          T.DATA_TYPE || ‘(‘ || T.DATA_PRECISION || ‘,‘ || T.DATA_SCALE || ‘)‘
         ELSE
          T.DATA_TYPE
       END) AS DATA_TYPE,
       B.COMMENTS
  FROM USER_TAB_COLUMNS T
 INNER JOIN ALL_COL_COMMENTS B
    ON B.COLUMN_NAME = T.COLUMN_NAME
   AND T.TABLE_NAME = B.TABLE_NAME
   AND T.TABLE_NAME = ‘T_WEIXIN_REMIND_FUND_CHANGE‘
 ORDER BY T.COLUMN_ID;

  第二种:红色部分可以把 T.DATA_TYPE 字段移动到CASE,WHEN 之间,这样when之后就直接写DATA_TYPE对应的值即可

时间: 2024-10-11 11:49:39

Oracle case when then else end的两种用法的相关文章

jsp中include的两种用法

JSP中的include的两种用法 1.两种用法 <%@ include file=” ”%> <jsp:include page=” ” flush=”true”/> 2.用法区别 (1)执行时间上区别 <%@ include file=”relativeURI”%>                   是在翻译阶段执行 <jsp:include page=”relativeURI” flush=”true” />  在请求处理阶段执行. (2)引入内容的

JSP中的include的两种用法

1.两种用法 <@inlcude file ="header.jsp"/> 此时引入的是静态的jsp文件,它将引入的jsp中的源代码原封不动地附加到当前文件中,所以在jsp程序中使用这个指令的时候file里面的值(即要导入的文件)不能带多余的标签或是与当前jsp文件重复的东西.例如里面不要包含<html><body>这样的标签,因为是把源代码原封不动的附加过来,所以会与当前的jsp中的这样的标签重复导致出错. <jsp:include page

Android---24---Spinner的两种用法

Spinner是一个列表选择框,它有两种用法: 一种是使用android:entries属性的,一种是不使用该属性,通过动态的添加Adapter来实现的. 第一种: MainActivity.java: import android.app.Activity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import andr

operator 的两种用法

C++,有时它的确是个耐玩的东东,就比如operator,它有两种用法,一种是operator overloading(操作符重载),一种是operator casting(操作隐式转换). 1.操作符重载C++可以通过operator实现重载操作符,格式如下:类型T operator 操作符 (),比如重载+,比如下面这个例子template<typename T> class A{public:     const T operator+(const T& rhs)     {  

c++ operator操作符的两种用法:重载和隐式类型转换,string转其他基本数据类型的简洁实现string_cast

C++中的operator主要有两个作用,一是操作符的重载,一是自定义对象类型的隐式转换.对于操作符的重载,许多人都不陌生,但是估计不少人都不太熟悉operator的第二种用法,即自定义对象类型的隐式转换,我们下面就用以下这个小例子温故一下这两种用法: 1 #include <iostream> 2 #include <sstream> 3 using namespace std; 4 5 class FuncObj 6 { 7 public: 8 FuncObj(int n):

include的两种用法之间的区别

以下是对include 两种用法的区别 主要有两个方面的不同; 一:执行时间上: <%@ include file="relativeURI"%> 是在翻译阶段执行 <jsp:include page="relativeURI" flush="true" /> 在请求处理阶段执行. 二:引入内容的不同: <%@ include file="relativeURI"%> 引入静态文本(html

夺命雷公狗C/C++-----5---include的两种用法

我们的include是有两种用法的,如: 上面这种就是在头文件方式进行引入的,  include  <>  括号的是包含系统文件的.... 还有一种,比如我首先写个头文件先,如下所示: 然后我们在愿文件里面进行引入,如下所示: 这样也是成功的引入了... 总结   include 的区别 #include <>  包含系统的文件 #include "":  包含总结编写的文件

java中super 的两种用法

通过用 static 来定义方法或成员,为我们编程提供了某种便利,从某种程度上可以说它类似于 C 语言中的全局函数和全局变量.但是,并不是说有了这种便利,你便可以随处使用,如果那样的话,你便需要认真考虑一下自己是否在用面向对象的思想编程,自己的程序是否是面向对象的. 好了,现在开始讨论 this&super 这两个关键字的意义和用法. 在 Java 中, this 通常指当前对象, super 则指父类的.当你想要引用当前对象的某种东西,比如当前对象的某个方法,或当前对象的某个成员,你便可以利用

mysql in 的两种用法

简述MySQL 的in 的两种用法: 他们分别是在 in 关键字后跟一张表(记录集),以及在in后面加上字符串集. 先讲后面跟着一张表的. 首先阐述三张表的结构: s(sno,sname.sex,age,dept)   //学生信息表 c(cno,cname,tname)      //课程信息表 sc(sno,cno,grade)              //课程选修信息表 update sc set grade = 0 where sc.cno in (select cno from c