为了账号安全,请及时绑定邮箱和手机立即绑定

sqlserver字段数据中制表符tab空格回车符等特殊字符替换[图]

在计算机中,所有的数据在存储和运算时都要使用二进制数表示,包括52个字母(包括大写)、数字、常用的符号(例如*、#、@等)。具体用哪些二进制数字表示哪个符号,大家就必须使用相同的编码规则,美国有关的标准化组织就出台了ASCII编码(美国信息交换标准代码)。

SELECT CHAR(36); --显示的结果为$SQL中的替换函数replace()的语法格式如下:

REPLACE ( string_expression , string_pattern , string_replacement )

string_expression 要搜索的字符串表达式。

string_pattern 是要查找的子字符串,不能是空字符串 ('')。

string_replacement 替换字符串。

如何利用ASCII编码替换空格等特殊字符呢?

https://img1.sycdn.imooc.com//5f733dbd0001caa709300682.jpg

--去掉空格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='表名'


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消