Oracle —— 对表数据操作的各种小Tip

1、清空某表数据

TRUNCATE TABLE schema_name.table_name

例如:在名为test的schema下,有一张名为user的表,故此,可用TRUNCATE TABLE test.user清空表user的数据


2、截取某字符之前或之后的值

1、使用到的函数有

  • INSTR (str, pattern, [starting position, [nth occurrence]]):获取子字符串pattern在字符串str的下标位置。若存在,返回下标位置;若不存在,返回0
    • 各参数的涵义如下:
      • str:字符串
      • pattern:子字符串
      • starting position:开始查询的下标,默认是1
      • nth occurrence:第n次出现子字符串的位置
  • SUBSTR(str,starting position[,end position]):从starting position位置开始,到end position结束,截取str,若无end position参数,则会从开始截取位置一直截取到末尾
    • 各参数的涵义如下:
      • str:待截取的字符串
      • starting position:开始截取的位置
      • end position:结束截取的位置,非必须

2、操作实例

A、INSTR()

SELECT INSTR ('los Angeles', 'l') FROM dual;

执行结果:


SELECT INSTR ('los Angeles', 'l',1,2) FROM dual;

执行结果:


B、SUBSTR()

SELECT SUBSTR ('los Angeles', 4) FROM dual;

执行结果:


SELECT SUBSTR ('los Angeles', 4,7) FROM dual;

执行结果:


3、INSTR()+SUBSTR()

假设,以空格为分隔符,想取los Angeles的部分值,具体如下:

A、取空格之前字符串

SELECT SUBSTR ('los Angeles', 1, INSTR('log Angeles',' ')) FROM dual;

执行结果:


B、取空格之后字符串

SELECT SUBSTR ('los Angeles', INSTR('log Angeles',' ')) FROM dual;

执行结果:


未完待续...

posted @ 2021-06-07 16:22  _天青色烟雨  阅读(77)  评论(0编辑  收藏  举报