資料文字中部分字段包含換行符(\r\n),導致入倉後資料異常
將包含換行符的字段,使用函式replace或oreplace進行去除
首先引入換行符的概念:
0x0d => \r, carrige return, 指打字頭歸位的動作(回車),對應ascii碼表中的13
0x0a => \n, new line, 指打字機上捲一行的動作(換行),對應ascii碼表中的10
換行符在不同作業系統中的表現方式:
windows 在行尾使用 crlf (carriage return/line feed, 0d/0a)
unix/linux 只使用 lf(0a)
根據如上概念,提出如下兩種可行性的方案:
-- 入倉前,使用ds抽取資料時去除換行符
select replace(holdstock,chr(13)||chr(10),'') from spdd.customer_relative;
-- 入倉後,在teradata庫中對字段存在換行符的進行修改
update sdata.rmo_customer_relative set holdstock = oreplace(holdstock,'0d0a'xc,'');
注:oreplace是teradata從oracle衍生過來的函式,用法與oracle的replace類似
注:每次只能提交乙個符號,如先回車再換行
在字段中新增換行符的操作:
oracle欄位拼接
select a.id,a.value b.value from a a,b b where a.id b.id 哪種資料庫?如果是sqlserver select cast column1 as varchar 10 cast column2 as varchar 10 as p from tab...
Oracle欄位拼接效率
wmsys.wm concat函式拼接只會以 逗號相隔開,返回clob欄位,查詢起來效率較慢,不建議使用 wmsys.wm concat t.name as name列 listagg函式可以自定義拼接,第乙個引數是要拼接的字段,第二個引數是你需要用什麼來拼接,該函式返回varchar2型別,查詢效...
oracle 字段拼接方法 concat函式和
參考dreamy yue,最最麼麼噠 在表中會有多個字段,有時根據需求我們需要將兩個字段或者多個字段進行拼接,這時我們可以採用concat函式或者 達到字段拼接的目的。總結 concat 只能連線兩個字串,可以連線多個 concat只能連線兩個字串 sql select concat csdn ye...