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;
执行结果: