iT邦幫忙

第 12 屆 iThome 鐵人賽

0
自我挑戰組

回顧再出發~系列 第 15

sql 用ASCII Control Character 去空白,去換行,去tab

  • 分享至 

  • xImage
  •  

我們這裡用到Control Character來處理

控制字元Control Character是什麼?
ASCII 編號0~31、127 這些編號,都是控制字元
控制字元,分別代表著entry,tab,換行...等等

CHAR(int):將ASCII碼轉換成字元
轉成字元,就可以插入字串中,sql解析器讀到時,就知道這個做什麼控制(換行/tab..等等)。
*就像在C#可以用newline()把換行加入字串中一樣的功能

這次我們會用到的有以下3個
Tab: CHAR(9)
換行(LineFeed): CHAR(10)
ENTER: CHAR(13)

我們來試試看

select '1'+char(9)+'2'
select '1'+char(10) +'2'
select '1'+char(13)+'2'
輸出
'1
2'
輸出
'1	2'
輸出
'1
2'

也可以用這個方法把Control Character拿掉.
*用replace

declare @cmd varchar(3000)
set @cmd = 'col1
,col2
,col3'
set @cmd = replace(@cmd,' ','')
set @cmd = replace(@cmd,Char(9),'')
set @cmd = replace(@cmd,Char(10),'')
set @cmd = replace(@cmd,Char(13),'')
select @cmd 

ref
http://www.eion.com.tw/Blogger/?Pid=1128
ref
https://dotblogs.com.tw/dreamweaver0210/2014/05/06/144986

ref
這個很酷,可以把字串,一個個轉成ASCII.但如果遇到控制符號,它就會出錯.
https://docs.microsoft.com/zh-tw/sql/t-sql/functions/char-transact-sql?view=sql-server-ver15


上一篇
sql 記錄運作時間
下一篇
CDB(集中式) 是什麼? DDB(分散式)是什麼?
系列文
回顧再出發~22
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言