查找 oracle 替换字段内容的 SQL 语句

发布于 科技 2024-08-04
8个回答
  1. 匿名用户2024-01-31

    1. 需要使用两个字符类函数 instr 和 substr,具体用法说明如下:

    功能:字符定位功能 instr

    语法:instr(要处理的字符串,要找到的字符,开始查找,第n次出现)。

    返回值:字母的位置,不返回0;

    功能:字符定位功能子

    语法:substr('要削减的值',从前几个位置切下,切几块);

    返回值:截断的字符串。

    2. 本题的实施步骤以字段 a 的内容为依据'武汉亿益科技有限公司(2009年2月注销)。'例如:

    第 1 步:从字段 a 中字段的第一个字符中找到左括号'('该位置的首次出现如下:

    select instr('武汉亿益科技有限公司(2009年2月注销)。', '(', 1, 1) -9

    from dual;

    第 2 步:从字段的第一个字符开始,一直到左括号'('前一个没问题,如下所示:

    select substr('武汉亿益科技有限公司(2009年2月注销)。',1,instr('武汉亿益科技有限公司(2009年2月注销)。', '(', 1, 1) -1)

    from dual;

    注意:如果公司名称本身可能包含括号,建议将最后一个字符反转,以找到左括号首次出现的位置,即

    select instr('武汉亿益科技有限公司(2009年2月注销)。', '(', -1, 1) -9

    from dual;

    3. 最终答案。

    select select substr(a, 1, instr(a, '(', -1, 1) -1)

    from table ;

  2. 匿名用户2024-01-30

    sql> select regexp_replace(oldcol, '\(.',' ') newcol from

    3 select '武汉1-11科技公司(2009年2月注销)。' oldcol from dual union all

    4 select '武汉2-11科技公司(2009年3月取消)。' oldcol from dual union all

    5 select '武汉3-11科技公司(2009年4月取消)。' oldcol from dual union all

    6 select '武汉4-11科技公司(2009年5月注销)。' oldcol from dual

    newcol

    武汉1-11科技公司。

    武汉2-11科技公司。

    武汉3-11科技公司。

    武汉4-11科技公司。

    sql>

  3. 匿名用户2024-01-29

    update table set a = substr(a,1,instr(a,'(',1,1)-1)

    这就是它的意思,只需截断字符串即可。

  4. 匿名用户2024-01-28

    您的意思是删除括号中的所有日期? 只剩下某某公司。

    在这种情况下,似乎无法替换替换函数。

    仅选择 substr(a,1,instr(a,'(',1))从表中。

    让我们看看是否可以。

  5. 匿名用户2024-01-27

    1. Oracle 中的 round 函数也会截断数字,但与 trunc 不同的是,round 函数对截断的数字进行四舍五入。

    2. 如果添加上一轮的第二个参数,则其使用保留在小数点后几位。 和四舍五入。

    3.同舍数的第二个参数也可以是负数,其用途是从小数点后左边开始保留,去掉小数点后右边的数据。 如果小数位的左边不够舍入,则将小数位的左边替换为 0,如果可以四舍五入,则直接在保留位数中前进一位,所有保留位数将替换为 0。

    4.在预言机中替换字符串函数的方法非常简单。

    5. 使用 replace 功能时,如果 str1 在 str 中无法匹配,则将直接输出 str 内容而不是 str1。

  6. 匿名用户2024-01-26

    1. 创建测试表;

    create table test_str_replace(id varchar2(20),value varchar2(20));

    2.插入测试数据;

    insert into test_str_replace values('1','abcbcade');

    insert into test_str_replace values('2','aaabcbca');

    insert into test_str_replace values('3','aabcaabcab');

    commit;

    3、查询表中全量数据; select t.*,rowid from test_str_replace t;

    4. 编写语句以添加 value 字段'abc'替换为'123',其他保持不变;

    select t.*,regexp_replace(value,'abc','123') cnt from test_str_replace t ;

  7. 匿名用户2024-01-25

    事不宜迟,上菜吧!

    update table_name set field =replace(field ,substr(field ,0,1) ,'p') where field is not null ;

  8. 匿名用户2024-01-24

    更新表 set fieldname = replace(fieldname, substr(fieldname, 0,1),'要替换为的内容');

    substr(field name, 0,1) --0,1 是要替换的字段部分的起始位置。

相关回答
12个回答2024-08-04

偶尔,当腊手山有表并且有数据时,我们需要修改其某个字段的类型或缩短其长度,但是由于表中有数据,因此无法直接修改,我们需要改变思路。

3个回答2024-08-04

方式一:使用用户选项卡cols表查询查询结果,指示该字段存在 >>>More

9个回答2024-08-04

连接字段选择字段 1||字段 2||字段 3....from a;

更新 B 设置 X 字段 =(选择字段 1||。字段 2||字段 3....from a); >>>More

15个回答2024-08-04

首先找到第一个符号,然后从这个位置找到第二个符号,如果找到它,就替换中间的字符。 >>>More

6个回答2024-08-04

当 x 接近 0 时:

e^x-1 ~ x; >>>More