追加字符 update table_name  t set t.DIST_NAME = t.DIST_NAME || '市' where PROD_NAME='爱立信' table_name  :表名   DIST_NAME:要追加字符的字段      '市': 追加字符的内容  where 后面为条件 (可不写) 替换字符 update table set 字段 =replace(字段,‘hello’,‘你好’) where 条件 table 为表名    hello 为原来的字符  你好为…
Oracle  EBS 提供多种报表的开发和输出形式,由于MS Excel在处理数据方面的优势明显,报表输出用Excel打开是很常见的开发项. 但是正是由于Excel的"过于智能而不智能",导致有时输出字段会被Excel自动处理,导致数据错误. 例如: 系统内部字段,物料编码/订单标号 等等字段在数据库内存储的格式为 varchar, 在某些业务或者需求下,编码方式为全数字的形式,如"100230001","100230002",... 这样的字…
使用Oracle中Instr()和substr()函数: 在Oracle中可以使用instr函数对某个字符串进行判断,判断其是否含有指定的字符. 其语法为: instr(sourceString,destString,start,appearPosition). instr('源字符串' , '目标字符串' ,'开始位置','第几次出现') 其中sourceString代表源字符串: destString代表想聪源字符串中查找的子串: start代表查找的开始位置,该参数可选的,默认为1: ap…
在ORACLE数据库中如何查找那些字段里面包含中文的数据记录呢,有时候就是有这样的特殊需求,下面整理了一些判别字段中包含中文记录的几个方法 1:使用ASCIISTR函数判别   ASCIISTR函数说明: ASCIISTR返回字符的ASCII形式的字符串.非ASCII的字符被转化为\xxxx的形式. 使用ASCIISTR函数也是根据非ASCII字符会被转化这个特性来判别中文字符,只要里面包含中文字符,则必定会有\xxx这样的字符.且简体汉字的编码范围是B0A1 - F7FE.如下例子所示 CRE…
ASCII(x1) [功能]:返回字符表达式最左端字符的ASCII 码值. [参数]:x1,字符表达式 [返回]:数值型 [示例] SQL> select ascii('A') A,ascii('a') a,ascii(' ') space,ascii('示') hz from dual; A A SPACE hz --------- --------- --------- --------- 65 97 32 51902 [说明]在ASCII()函数中,纯数字的字符串可不用‘’括起来,但含其它…
SQL Server 2000专门提供了处理text,ntext,image字段的函数,他们是: TEXTPTR TEXTVALID READTEXT UPDATETEXT WRITETEXT 一般作用方法 写字段WRITETEXT : DECLARE @val varbinary(16) SELECT @val = TEXTPTR(字段名) FROM 表名 where 条件 WRITETEXT 表名.字段名 @val '您的长字符串,一般都是大于8000的,不大于也行' 说明:第二行加上条件…
循序渐进Oracle:数据库的字符集和字符集文件 https://blog.csdn.net/Enmotech/article/details/100869162 2019年09月15日 18:23:19 Enmotech 阅读数 18   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/enmotech/article/details/100869162 导读:本文来自『墨天轮』专栏“循…
由于需求变化.现在,我们要一个类型NUMBER(8,2)字段类型改变 char. 总体思路如以下:       将要更改类型的字段名改名以备份,然后加入一个与要更改类型的字段名同名的字段(原字段已经改名).然后更新数据,最后删除改名备份的字段.  下面操作在 Oracle 10.2.0.1.0 中通过. /*改动原字段名*/ ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1; /*加入一个和原字段同名的字段*/ ALTER TABLE 表名 ADD 字段名  VA…
Oracle修改字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle修改字段类型和长度 alter table 表名 modify 字段名 数据类型 如果是修改数据类型比如由varchar2修改为int且字段内有值,会报如下错误 解决方法参考:http://blog.csdn.net/itmyhome1990/article/details/8681206 出处:http://blog.csdn.net/itmyhome1990/article…
Oracle改动字段名 alter table 表名 rename column 旧字段名 to 新字段名 Oracle改动字段类型和长度 alter table 表名 modify 字段名 数据类型 假设是改动数据类型比方由varchar2改动为int且字段内有值,会报例如以下错误 解决方法參考:http://blog.csdn.net/itmyhome1990/article/details/8681206 出处:http://blog.csdn.net/itmyhome1990/artic…
今天有个需求是进行排序.  这一列值是字符串类型的, 但是里面有数值型 比如"1" 和null类型的.  实现效果是需要 数值型的先按照数值的方式先排,然后字符串按照字符传排,最后才是null的. 最开始就想到当为数值时 需要转换 如下 order by CASE WHEN ISNUMERIC("字段名")= 1 THEN CONVERT(INT, "字段名") ELSE NULL END , 这样到能实现数值型的 就是按照数值来排序,但是这些排…
set unused的用法(ORACLE删除字段) 一.问题 现场有一张大数据量的分区表,数据量在10G以上.因某种原因需要删除其中的某些字段.如果直接用alter table1 drop (column1,column2);或者alter table1 drop column column1;和alter table1 drop column column2; 的话,需要执行很长时间,这期间该表被锁,会影响到其它应用. 二.解决方法 使用set unused,等系统空闲时再drop unuse…
  1.情景展示 由上图可知,APPUSERID字段和VIRTUAL_CARDID字段存在一对多的关系,如何将重复的APPUSERID字段的数据查询出来呢? 2.原因分析 先查出重复的APPUSERID都有哪些,再根据重复的APPUSERID查询该条数据记录. 3.解决方案 第一步:查询重复的APPUSERID --查询重复的APPUSERID SELECT APPUSERID, COUNT(APPUSERID) 次数 FROM ACCESS_APPUSER T GROUP BY T.APPUS…
oracle基本操作,Oracle修改列名,Oracle修改字段类型 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年3月16日 http://www.cnblogs.com/fanshuyao/ --修改列名 alter table "KFAPP&…
方法1: --Oracle 根据字段值查询其所在的表.字段 DECLARE CURSOR cur_query IS SELECT table_name, column_name, data_type FROM user_tab_columns; a NUMBER; sql_hard VARCHAR2(); vv NUMBER; BEGIN FOR rec1 IN cur_query LOOP a:=; IF rec1.data_type ='VARCHAR2' OR rec1.data_type…
  oracle 多字段去重查询 CreationTime--2018年6月29日15点11分 Author:Marydon 1.情景展示 需要对表BASE_MRI_DEVICE的COMPNAME.FIELDSTR.VERSION字段分别进行去重查询,如何使用一个sql搞定? 2.需求分析 注意:是分别对3个字段进行去重,而不是3个字段联合去重. 首先,必须进行三次查询,而将查询结果进行"行合并"需要用到union或union all: 其次,为了区分查询结果属于哪个字段,所以需要3列…
http://blog.163.com/wkyuyang_001/blog/static/10802122820091751049479/ 当表中的某一个字段与这个表中另外字段的相关时,我们可能用到自连接. 自连接(self join)是SQL语句中经常要用的连接方式,使用自连接可以将自身表的一个镜像当作另一个表来对待,从而能够得到一些特殊的数据. 我们什么时候应该使用自连接呢?我们来看下面的例子. 在oracle的scott的schema中有一个表是emp 在emp中的每一个员工都有自己的mg…
一.问题说明 在处理数据的时候,需要判断某个字段字符串中是否有中文,若有则取出中文. 二.解决办法 首先如何判断某个字段字符串中是否有中文.这里介绍三种方法: 1.采用ASCIISTR函数 说明:ASCIISTR函数用于返回字符的ASCII形式的字符串:非ASCII的字符被转化为\xxxx的形式.换句话说:如果字符中包含中文,则必定会有\xxxx的字符. 所以,我们直接利用ASCIISTR函数匹配'\'即可判断. 2.采用length和lengthb的原理 说明:中文下length返回的是字符个…
我想去掉字段值中的“_” select replace(fdisplayname,'_','') from SHENZHENJM1222.B replace 第一个参数:字段/值,第二个参数时替换字符,第三个是被替换成的字符. 如果是日期类型的,先to_char一下…
oracle修改字段类型由varchar2修改为clob类型 http://blog.sina.com.cn/s/blog_9d12d07f0102vxis.html…
因为需求变动.现要将一个类型NUMBER(8,2)的字段类型改为 char. 大体思路例如以下:       将要更改类型的字段名改名以备份.然后加入一个与要更改类型的字段名同名的字段(原字段已经改名).然后更新数据,最后删除改名备份的字段. 下面操作在 Oracle 10.2.0.1.0 中通过. /*改动原字段名*/ ALTER TABLE 表名 RENAME COLUMN 字段名 TO 字段名1; /*加入一个和原字段同名的字段*/ ALTER TABLE 表名 ADD 字段名  VARC…
Oracle查询所有字段,再加两个字段拼接, select a.*,(SNO||SNAME) from TEST_STUDENT a; 同理,查询所有字段,其中两个字段求和:(SNO和SAGE都是NUMBER数据类型) select a.*,(SNO+SAGE) from TEST_STUDENT a; select * from table; 要加其他查询内容,必须在*前面加表名或简称. 如下这种也可以: select TEST_STUDENT.*,(SNO+SAGE) from TEST_S…
多条数据以一条数据展示:GROUP_CONCAT select GROUP_CONCAT(uuid) from user; 判断某字符是否存在某字段:INSTR select * from( select GROUP_CONCAT(uuid) names from user ) temp where INSTR(uuid,'001');…
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
有一个表名为tb,字段段名为name,数据类型nchar(20). 1.假设字段数据为空,则不管改为什么字段类型,可以直接执行:alter table tb modify (name nvarchar2(20)); 2.假设字段有数据,则改为nvarchar2(20)可以直接执行:alter table tb modify (name nvarchar2(20)); 3.假设字段有数据,则改为varchar2(40)执行时会弹出:“ORA-01439:要更改数据类型,则要修改的列必须为空”,这时…
暂时应该没有对应的方法,所以我用自己想好的方法去修改 /*修改原字段名name为name_tmp,是将想改名称的字段改为没用/临时的字段*/ Alter  table 表名 rename column  老字段 to 新字段; /*增加一个和原字段名同名的字段name*/ alter  table 表名 add 老字段 CLOB; /*将原字段name_tmp数据更新到增加的字段name,是将改名/临时字段的内容付给新名称*/ update 表名 set 老字段=新字段; /*更新完,删除原字段…
创建视图的时候,因为表太多,里面一些字段类型不一样,PL/SQL报错,为‘表达式必须具有对应表达式相同的数据类型’,发现后,一个字段的类型为CLOB和VARCHAR2(4000)两种,将CLOB进行修改 将CLOB字段修改成varchar2(4000)字段 第一步:把原字段换个名字,此条的sql是把C_009700010003换成C_0097000100031 alter table 表名 rename column  当前字段 to 备用字段; alter table T_00970001 r…
1.添加字段: alter table  表名  add (字段  字段类型)  [ default  '输入默认值']  [null/not null]  ; 2.添加备注: comment on column  库名.表名.字段名 is  '输入的备注'; 如: 我要在ers_data库中  test表 document_type字段添加备注  comment on column ers_data.test.document_type is '文件类型'; 3.修改字段类型: alter t…