sqlserver字段数据中制表符tab空格回车符等特殊字符替换[图]
作者:互联网
在计算机中,所有的数据在存储和运算时都要使用二进制数表示,包括52个字母(包括大写)、数字、常用的符号(例如、#、@等)。具体用哪些二进制数字表示哪个符号,大家就必须使用相同的编码规则,美国有关的标准化组织就出台了ASCII编码(美国信息交换标准代码)。
SELECT CHAR(36); --显示的结果为$SQL中的替换函数replace()的语法格式如下:
REPLACE ( stringexpression , stringpattern , stringreplacement )
stringexpression 要搜索的字符串表达式。
stringpattern 是要查找的子字符串,不能是空字符串 ('')。
stringreplacement 替换字符串。
如何利用ASCII编码替换空格等特殊字符呢?
--去掉空格UPDATE [dbo].[线上培训合格人员] set 身份证号=REPLACE(身份证号,char(32),'')--去掉TABUPDATE [dbo].[线上培训合格人员] set 身份证号=REPLACE(身份证号,char(32),'')ASCII中十进制编码 (对应)缩写字符(或功能/解释)如下:
0 NUL(null) 空字符1 SOH(start of headline) 标题开始2 STX (start of text) 正文开始3 ETX(end of text) 正文结束4 EOT (end of transmission) 传输结束5 ENQ (enquiry) 请求6 ACK (acknowledge) 收到通知7 BEL (bell) 响铃8 BS (backspace) 退格9 HT (horizontal tab) 水平制表符10 LF (NL line feed, new line) 换行键11 VT (vertical tab) 垂直制表符12 FF (NP form feed, new page) 换页键13 CR (carriage return) 回车键14 SO (shift out) 不用切换15 SI (shift in) 启用切换16 DLE (data link escape) 数据链路转义17 DC1 (device control 1) 设备控制118 DC2 (device control 2) 设备控制219 DC3 (device control 3) 设备控制320 DC4 (device control 4) 设备控制421 NAK (negative acknowledge) 拒绝接收22 SYN (synchronous idle) 同步空闲23 ETB (end of trans. block) 传输块结束24 CAN (cancel) 取消25 EM (end of medium) 介质中断26 SUB (substitute) 替补27 ESC (escape) 换码(溢出)28 FS (file separator) 文件分割符29 GS (group separator) 分组符30 RS (record separator) 记录分离符31 US (unit separator) 单元分隔符32 space 空格
替换字段中的TAB制表符char(9)、换行符char(10)、回车键char(13)、空格char(32)的示例代码如下:
UPDATE [ dbo ].[线上培训合格人员]SET 身份证号 = REPLACE (REPLACE (REPLACE (REPLACE ( REPLACE ( 身份证号, CHAR ( 10 ), '' ), CHAR ( 13 ), '' ),CHAR ( 10 ) + CHAR ( 13 ),''),CHAR ( 9 ),''),CHAR ( 32 ),'')
简介:SQL Server是由Microsoft开发和推广的关系数据库管理系统(DBMS),它最初是由Microsoft、Sybase和Ashton-Tate三家公司共同开发的,作文https://www.isanxia.com并于198年推出了第一个OS/2版本。Microsoft SQL Server近年来不断更新版本,1996年,Microsoft 推出了SQL Server 6.5版本;1998年,SQL Server 7.0版本和用户见面;SQL Server 2000是Microsoft公司于2000年推出,目前最新版本是2019年份推出的SQL SERVER 2019。
sqlserver查询一张表所有字段是否含制表符、换行符、回车符:
制表符: CHAR(9)
换行符: CHAR(10)
回车符: CHAR(13)
select 'SELECT COUNT() FROM 表名 where CHARINDEX(CHAR(9),"'+SysColumns.name+'")>0 union all'
from sysobjects inner join SysColumns on sysobjects.id=SysColumns.id
where sysobjects.name='表名'
select 'SELECT COUNT() FROM 表名 where CHARINDEX(CHAR(10),"'+SysColumns.name+'")>0 union all'
from sysobjects inner join SysColumns on sysobjects.id=SysColumns.id
where sysobjects.name='表名'
select 'SELECT COUNT() FROM 表名 where CHARINDEX(CHAR(13),"'+SysColumns.name+'")>0 union all'
from sysobjects inner join SysColumns on sysobjects.id=SysColumns.id
where sysobjects.name='表名'**
标签:sqlserver,REPLACE,CHAR,回车符,SQL,SysColumns,制表符,sysobjects 来源: https://blog.51cto.com/14938467/2539458