oracle数据库根据不同条件给同一字段修改相应的值: 例如:根据职务调整雇员的工资,如果职务为“SALESMAN”或者“ANALYST”工资上调100元,如果职务为“MANAGER”工资上调200元,其它职务工资上调50元. update emp set sal=( case when job in('SALESMAN','ANALYST') then sal+100 when job = 'MANAGER' then sal+200 else sal+50 end ); 查询出当前的orac
遇到 XXX情况 就 XXX 遇不到就 XXX 结束case when …… then …… else …… end 例如一个3条件取值的字段: case when 条件1 then 取值1 when 条件2 then 取值2 else 取值3 end when后接条件语句,then后为字段取值(数值或字符串等都可以,但类型须一致). CASE WHEN 及 SELECT CASE WHEN的用法: Case具有两种格式.简单Case函数和Case搜索函数. 1. 简单Case函数 CASE s
一.查询1.distinct:查询去除重复的行,是所有的列都重复才满足条件2.列别名:as或者空格 select name as 姓名 from student3.查询字段可以做数学运算,也可以做字符串连接,字符连接符号是:||4.数字和null相加得到是null5.nvl用来处理null值.nvl(字段名,值):将null值转换为值例子:select nvl(stu_sex,'无') from student6.排序:order by 字段名... asc(升)|desc(降)例子:selec
String juniorApprovalUserHql = "select c.id,c.username from UserInfo c left join c.userRole where c.userRole.id = 16"; List<UserInfo> juniorApprovalUser = accountService.find(juniorApprovalUserHql); jdk1.8,tomcat8
判断字段是否为null select * from table where c is null select * from table where c is not null 判断字段是否为空 select * from table where c='' select * from talbe where c<>''
CREATE PROCEDURE 存储过程名称 is cursor c_tab is select * from user_tab_columns t r_tab user_tab_columns%rowtype; v_cell ); sql_str ); data_length number; begin open c_tab; loop fetch c_tab into r_tab; exit when c_tab%notfound; v_cell:=''; data_length:,);
由于Oracle varchar类型长度限制为4000 ,以下方法仅支持查询字段拼接后长度小于等于4000 第一种方法 select wm_concat(column_name) from user_tab_cols where table_name = upper('T1PLCBASE')--表名 --不想查询的字段名 and column_name not in ('RNWPAYTODATE', 'ANUINFORMTODATE', 'APPLYSTATUS'); 第二种方法 select
SELECT USER_TAB_COLS.TABLE_NAME as 表名, UTC.COMMENTS as 表中文名, USER_TAB_COLS.COLUMN_ID as 列序号, USER_TAB_COLS.COLUMN_NAME as 列名, USER_TAB_COLS.DATA_TYPE as 数据类型, USER_TAB_COLS.DATA_LENGTH as 长度, USER_TAB_COLS.NULLABLE as 是否为空, user_col_comments.comments
一:查询字符串类型的字段的值不为空的SQL: select * from TB_CMS_FLGTINFO_A t where (t.fsta is not null and t.fsta <>' '); 主:上面的TB_CMS_FLGTINFO_A是表名,fsta是表中的字段 二:查询字符串类型的字段的值为空的SQL: select * from TB_CMS_FLGTINFO_A t where (t.fsta is null or t.fsta =' '); 主:上面的TB_CMS_FLG
现在做两个版本的系统,一个用的数据库是Access,另一个就是Oracle了.每个数据库支持的的查询SQL语句都有所区别,这里主要针对Access和Oracle做 记录. 首先贴出遇到问题最多的一条语句(现在可以通过运行),同时查询三个表:PUB_LOG(主),PUB_LOGTYPE(副),PUB_USER(副),提示的错误有:字段不允许.列 名无效,缺失左括号. Access:=>"select m.ID AS ID,t.FULLNAME as LOGTYPE,m.INFO a