
在计算机中,所有的数据在存储和运算时都要使用二进制数表示,包括52个字母(包括大写)、数字、常用的符号(例如*、#、@等)。具体用哪些二进制数字表示哪个符号,大家就必须使用相同的编码规则,美国有关的标准化组织就出台了ASCII编码(美国信息交换标准代码)。
SELECT CHAR(36); --显示的结果为$SQL中的替换函数replace()的语法格式如下:
REPLACE ( string_expression , string_pattern , string_replacement )string_expression 要搜索的字符串表达式。
string_pattern 是要查找的子字符串,不能是空字符串 ('')。
string_replacement 替换字符串。
如何利用ASCII编码替换空格等特殊字符呢?
--去掉空格
UPDATE [dbo].[线上培训合格人员] set 身份证号=REPLACE(身份证号,char(32),'')
--去掉TAB
UPDATE [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) 设备控制1
18 DC2 (device control 2) 设备控制2
19 DC3 (device control 3) 设备控制3
20 DC4 (device control 4) 设备控制4
21 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 空格
| ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 | ASCII值 | 控制字符 |
|---|---|---|---|---|---|---|---|
| 0 | NUL | 32 | (space) | 64 | @ | 96 | 、 |
| 1 | SOH | 33 | ! | 65 | A | 97 | a |
| 2 | STX | 34 | " | 66 | B | 98 | b |
| 3 | ETX | 35 | # | 67 | C | 99 | c |
| 4 | EOT | 36 | $ | 68 | D | 100 | d |
| 5 | ENQ | 37 | % | 69 | E | 101 | e |
| 6 | ACK | 38 | & | 70 | F | 102 | f |
| 7 | BEL | 39 | , | 71 | G | 103 | g |
| 8 | BS | 40 | ( | 72 | H | 104 | h |
| 9 | HT | 41 | ) | 73 | I | 105 | i |
| 10 | LF | 42 | * | 74 | J | 106 | j |
| 11 | VT | 43 | + | 75 | K | 107 | k |
| 12 | FF | 44 | , | 76 | L | 108 | l |
| 13 | CR | 45 | - | 77 | M | 109 | m |
| 14 | SO | 46 | . | 78 | N | 110 | n |
| 15 | SI | 47 | / | 79 | O | 111 | o |
| 16 | DLE | 48 | 0 | 80 | P | 112 | p |
| 17 | DCI | 49 | 1 | 81 | Q | 113 | q |
| 18 | DC2 | 50 | 2 | 82 | R | 114 | r |
| 19 | DC3 | 51 | 3 | 83 | S | 115 | s |
| 20 | DC4 | 52 | 4 | 84 | T | 116 | t |
| 21 | NAK | 53 | 5 | 85 | U | 117 | u |
| 22 | SYN | 54 | 6 | 86 | V | 118 | v |
| 23 | TB | 55 | 7 | 87 | W | 119 | w |
| 24 | CAN | 56 | 8 | 88 | X | 120 | x |
| 25 | EM | 57 | 9 | 89 | Y | 121 | y |
| 26 | SUB | 58 | : | 90 | Z | 122 | z |
| 27 | ESC | 59 | ; | 91 | [ | 123 | { |
| 28 | FS | 60 | < | 92 | / | 124 | | |
| 29 | GS | 61 | = | 93 | ] | 125 | } |
| 30 | RS | 62 | > | 94 | ^ | 126 | ` |
| 31 | US | 63 | ? | 95 | _ | 127 | DEL |
替换字段中的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 ),
''
)
文章转载自云自由,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




