-- 查询字段在什么表 select * from all_tab_cols t where t.column_name='ABC'; -- 查询字段在什么表并且 判断是否是主键 select * from all_tab_cols t left join ( select a.table_name, a.constraint_name, a.column_name, b.constraint_type -- 字段约束类型(P:主键) from user_cons_columns a inner
Dos方法: 依托于 目录下的文件 使用plsql developer 客户端软件进行连接 需要配置一下: 就是把Dos的客户端配置进来 然后,把服务器端的文件拷贝到你的的机器 并设置TNS_ADMIN环境变量为这个目录(不要中文 空格 符号等的目录) 这样就登陆成功了 解决中文乱码问题 修改scott用户密码 alter user scott identified by tiger --模糊查询 转大写select * from emp where ename like upper('s%')
开发过程中遇到个需求,用户要提取的数据列中不包含 YF.ZF.JD的字符串, 方法1:select * from table where order_no not like '%YF%' and order_no not like '%ZF' and order_no not like '%JD%' 感 觉方法1有点笨,想到REGEXP_LIKE 可以实现包含多个,在前面加上 not 就可以实现不包含功能,方法如下: 方法2:select * from table where not reg
今天在一张3W多记录的表里查非数字的异常数据~数据库太水,记录一发,因为2.5使用人员误输入为2..5.... select t.routecardlist_id,trim(translate(RTRIM(LTRIM(t.rated_hours)), '#0123456789', '#')) from MANU_ROUTECARDLIST t Where trim(translate(RTRIM(LTRIM(t.rated_hours)), '#0123456789', '#')) is not
SELECT * FROM T_NAME WHERE REGEXP_LIKE(COLNAME, '( )+'); SELECT * FROM T_NAME WHERE length(COLNAME) > length(trim(COLNAME)); SELECT * FROM T_NAME WHERE substr(字段,-1)=' ';
一.问题说明 最近在给某个用户下的表批量添加注释时,在程序中将注释名用trim()过滤一遍就可以了,但是在程序执行成功后怎么检测添加的注释名是否有空格存在呢? 二.解决方法 1.SELECT * FROM 表名 WHERE REGEXP_LIKE(列名, '( )+'); 2.SELECT * FROM 表名 WHERE LENGTH(列名) > LENGTH(TRIM(列名)): 这样就可以检测运行结果.
1.情景展示 由上图可知,APPUSERID字段和VIRTUAL_CARDID字段存在一对多的关系,如何将重复的APPUSERID字段的数据查询出来呢? 2.原因分析 先查出重复的APPUSERID都有哪些,再根据重复的APPUSERID查询该条数据记录. 3.解决方案 第一步:查询重复的APPUSERID --查询重复的APPUSERID SELECT APPUSERID, COUNT(APPUSERID) 次数 FROM ACCESS_APPUSER T GROUP BY T.APPUS
由于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