1. 程式人生 > >oracle如何去除某個欄位中兩邊的空格?

oracle如何去除某個欄位中兩邊的空格?

轉自:http://www.jb51.net/article/53576.htm

實際例子如下:

update SYS_DICTIONARY_BAK set display_name  = trim(display_name)
where table_name='T_GUARDIAN'
and column_name='zy'
;

引申:

如 trim('字元1' from '字串2') ,字元1只能是單個字元。

1. trim()刪除字串兩邊的空格。
2. ltrim()刪除字串左邊的空格。
3. rtrim()刪除字串右邊的空格。
4. trim('字元1' from '字串2') 分別從字元2串的兩邊開始,刪除指定的字元1。
5. trim([leading | trailing | both] trim_char from string) 從字串String中刪除指定的字元trim_char。
leading:從字串的頭開始刪除。
trailing:從字串的尾部開始刪除。
borth:從字串的兩邊刪除。
6. tim()只能刪除半形空格。

For example:
trim(' tech ') would return 'tech';
trim(' ' from ' tech ') would return 'tech';
trim(leading '0' from '000123') would return '123';
trim(trailing '1' from 'Tech1') would return 'Tech';
trim(both '1' from '123Tech111') would return '23Tech';


說明:

其中SYS_DICTIONARY_BAK表定義為:

CREATE TABLE "SCOTT"."SYS_DICTIONARY_BAK" 
   ("PK_ID" NUMBER(10,0) NOT NULL ENABLE, 
"TABLE_NAME" NVARCHAR2(100), 
"COLUMN_NAME" NVARCHAR2(100), 
"VALUE" NVARCHAR2(100), 
"DISPLAY_NAME" NVARCHAR2(100), 
"ORDERBY" NUMBER(10,0), 
"MEMO" NVARCHAR2(512), 
"CREATE_TIME" CHAR(19 CHAR), 
"UPDATE_TIME" CHAR(19 CHAR), 
"DR" NUMBER(3,0)
   ) SEGMENT CREATION IMMEDIATE 
  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 NOCOMPRESS LOGGING
  STORAGE(INITIAL 65536 NEXT 1048576 MINEXTENTS 1 MAXEXTENTS 2147483645
  PCTINCREASE 0 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT FLASH_CACHE DEFAULT CELL_FLASH_CACHE DEFAULT)
  TABLESPACE "USERS" ;
 
  ALTER TABLE "SCOTT"."SYS_DICTIONARY_BAK" MODIFY ("PK_ID" NOT NULL ENABLE);