11,849
社区成员
发帖
与我相关
我的任务
分享
DECLARE @Count int,
@String nvarchar(max),
@i int;
SELECT @Count = 0,
@String = '',
@i = 0;
WHILE @i <= 127
BEGIN
IF ISNUMERIC(CHAR(@i)) = 1
BEGIN
SET @Count = @Count + 1;
SET @String = @String +
CHAR(@i) +
'(' + CAST(@i as nvarchar(3)) + '), ';
END
SET @i = @i + 1;
END
SELECT @Count AS "Count", @String AS String;
--Choose your answer: select
ISNUMERIC(CHAR(0)) [0]
,ISNUMERIC(CHAR(1)) [1]
,ISNUMERIC(CHAR(2)) [2]
,ISNUMERIC(CHAR(3)) [3]
,ISNUMERIC(CHAR(4)) [4]
,ISNUMERIC(CHAR(5)) [5]
,ISNUMERIC(CHAR(6)) [6]
,ISNUMERIC(CHAR(7)) [7]
,ISNUMERIC(CHAR(8)) [8] --以上返回0,以下返回1
, ISNUMERIC(CHAR(9)) [9]
, ISNUMERIC(CHAR(10)) [10]
, ISNUMERIC(CHAR(11)) [11]
, ISNUMERIC(CHAR(12)) [12]
, ISNUMERIC(CHAR(13)) [13]
, ISNUMERIC(CHAR(36)) [36]
, ISNUMERIC(CHAR(43)) [43]
, ISNUMERIC(CHAR(44)) [44]
, ISNUMERIC(CHAR(45)) [45]
, ISNUMERIC(CHAR(46)) [46]
, ISNUMERIC(CHAR(92)) [92]
--result:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 36 43 44 45 46 92
0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 1
--ASCII 码相关定义及说明:
ASCII 码使用指定的 7 位或 8 位二进制数组合来表示 128 或 256 种可能的字符。
标准 ASCII 码也叫基础ASCII码,使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9、标点符号,
以及在美式英语中使用的特殊控制字符。其中:
0~31及127(共33个)是控制字符或通信专用字符(其余为可显示字符),
如控制符:LF(换行)、CR(回车)、 FF(换页)、DEL(删除)、BS(退格)、BEL(振铃)等;
通信专用字符:SOH(文头)、EOT(文尾)、ACK(确认)等;
ASCII值为 8、9、10 和 13 分别转换为退格、制表、换行和回车字符。
它们并没有特定的图形显示,但会依不同的应用程序,而对文本显示有不同的影响。
32~126(共95个)是字符(32sp是空格),其中48~57为0到9十个阿拉伯数字;
65~90为26个大写英文字母,97~122号为26个小写英文字母,其余为一些标点符号、运算符号等。
同时还要注意,在标准ASCII中,其最高位(b7)用作奇偶校验位。
所谓奇偶校验,是指在代码传送过程中用来检验是否出现错误的一种方法,一般分奇校验和偶校验两种。
奇校验规定:正确的代码一个字节中1的个数必须是奇数,若非奇数,则在最高位b7添1;
偶校验规定:正确的代码一个字节中1的个数必须是偶数,若非偶数,则在最高位b7添1。
后128个称为扩展ASCII码,目前许多基于x86的系统都支持使用扩展(或“高”)ASCII。
扩展 ASCII 码允许将每个字符的第 8 位用于确定附加的 128 个特殊符号字符、外来语字母和图形符号。
DECLARE @Count int,
@String nvarchar(max),
@i int;
SELECT @Count = 0,
@String = '',
@i = 0;
WHILE @i <= 127
BEGIN
IF ISNUMERIC(CHAR(@i)) = 1
BEGIN
SET @Count = @Count + 1;
SET @String = @String +
+CHAR(@I)+','+CAST(@i AS CHAR(2)) +
'(' + CAST(@i as nvarchar(3)) + '), ';
END
SET @i = @i + 1;
END
SELECT @Count AS "Count", @String AS String;
/*
21 ,9 (9), ,10(10), ,11(11), ,12(12), ,13(13), $,36(36), +,43(43), ,,44(44), -,45(45), .,46(46), 0,48(48), 1,49(49), 2,50(50), 3,51(51), 4,52(52), 5,53(53), 6,54(54), 7,55(55), 8,56(56), 9,57(57), \,92(92),
*/