1、替換函數REPLACE()
REPLACE(String,from_str,to_str) 即:將String中所有出現的from_str替換爲to_str。
三個參數可以是字符或二進制數據類型;from_str不能爲空字符串 ('');不支持 text,ntext類型字段的替換
如果其中的一個輸入參數數據類型爲 nvarchar,則返回 nvarchar;否則 REPLACE 返回 varchar。
如果任何一個參數爲 NULL,則返回 NULL。
查詢
SELECT REPLACE('abcdefg bcd','bcd','xxx')
select city_name,REPLACE(city_name,'市','') as city from tmp_city
更新
update T_RISK set FILE_PATH = REPLACE (FILE_PATH,'webs','web') where FILE_PATH is not null;
2、表鎖
鎖表
鎖全表:select * from tablename where 1=1 for update
鎖部分行:select * from tablename where 字段1=參數1 for update
解鎖
--查看被鎖的表
select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_id = a.object_id;
--查看那個用戶那個進程造成死鎖
select b.username,b.sid,b.serial#,logon_time from v$locked_object a,v$session b where a.session_id = b.sid order by b.logon_time;
--殺鎖
alter system kill session'41,47817';
3、查詢索引
根據表名查表的索引
select INDEX_NAME,INDEX_TYPE FROM USER_INDEXES WHERE table_name='T_MCHT_ORDER_PAY_SERIAL';
根據索引名查索引詳細信息
select dbms_lob.substr(dbms_metadata.get_ddl('INDEX','IND_T_MCHT_ORDER_PAY_SERIAL_ID'))from dual;
修改唯一索引
--修改唯一索引
--從BIZ_TYPE, ORG_PARTY_NO
--變更到BIZ_TYPE, ORG_PARTY_NO, SUB_BIZ_TYPE
--delete indexes
drop index IDX_CHARGE_PARTY_CONFIG;
-- Create/Recreate indexes
create unique index IDX_CHARGE_PARTY_CONFIG on T_CHARGE_PARTY_CONFIG (BIZ_TYPE, ORG_PARTY_NO, SUB_BIZ_TYPE)
tablespace USERS
pctfree 10
initrans 2
maxtrans 255
storage
(
initial 64K
next 1M
minextents 1
maxextents unlimited
);
4、修改表
modidy修改字段屬性
--單個字段
alter table T_CHARGE_PARTY_CONFIG modify RATE_PER_TXN NUMBER;
--多個字段
alter table student modify(id number(4),studentName varchar2(100));
如果字段有數據,且類型不能直接修改,可以先修改原字段名SUB_ORG爲SUB_ORG_COPY,新增字段SUB_ORG(目標類型),把SUB_ORG_COPY中的數據轉換複製給SUB_ORG,刪除SUB_ORG_COPY
UPDATE 表名 SET SUB_ORG = CAST(SUB_ORG_COPY AS VARCHAR2(30));
alter添加字段
alter table T_CHARGE_PARTY_CONFIG add (SUB_ORG_NO VARCHAR2(32));
5、數據類型轉換函數
and to_char(crt_time, 'yyyyMMdd') >='20181101'
and crt_time >=to_date('2018-11-01 00:00:00','yyyy-mm-dd hh24:mi:ss')