DB2表數據中存在空格問題解決辦法

--創建測試表
create table administrator.testhyg(id int,name varchar(30),birth date);

--插入測試數據
insert into  ADMINISTRATOR.TESTHYG values(1001,'tianjin   ','2017-03-09');
insert into  ADMINISTRATOR.TESTHYG values(1002,'hyg  ','2017-03-08');
insert into  ADMINISTRATOR.TESTHYG values(1003,'dbsec','2017-03-07');
insert into ADMINISTRATOR.TESTHYG VALUES(1004,'   schina',current timestamp);
insert into ADMINISTRATOR.TESTHYG VALUES(1005,'HANG  ZHOU',CURRENT TIMESTAMP);

--查詢表數據
select * from testhyg;

select * from testhyg order by name;

----------------------------------------------------------------------------
--用replace函數將數據中的空格替換爲*顯示出來
select replace(name,' ','*') from testhyg;

    select replace(name,' ','*') from testhyg
     1
     ----------
     tianjin
     hyg
     dbsec
     schina
     HANG**ZHOU

--將表數據行中的空格替換爲*
update testhyg set name=replace(name,' ','*');

----------------------------------------------------------------------------

--trim()函數測試,只能將數據兩端的空格去掉後顯示出來
select trim(name) from testhyg;

--將數據行兩端的空格去掉並更新表數據
update testhyg set name=trim(name);

    select * from testhyg
     ID   NAME       BIRTH
     ---- ---------- ----------
     1001 tianjin    2017-03-09
     1002 hyg        2017-03-08
     1003 dbsec      2017-03-07
     1004 schina     2017-03-09
     1005 HANG  ZHOU 2017-03-09
-----------------------------------------------------------------------------

--由此可見,trim()函數只能替換數據兩端的空格,無法替換數據中間的空格
--而replace()函數可以替換數據中所有位置的空格
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章