662
社区成员




[Quote=引用 14 楼 kyouken2007 的回复:]
总拿SELECT ASCII('9:'),SELECT ASCII('99')说什么事,我是要字符串比大小。
[/Quote]
经验再多,要是错误的都是白搭。
还有不是我拿什么说事,只是楼上谈到了ascii比较而已,要是说事,我都懒得跟你浪费时间。
你的字符串比较大小转换成binary类型就可以解决了。
参考:
SELECT CASE WHEN (CAST('9A' AS binary)>=CAST('99' AS BINARY)) THEN 1 ELSE 0 END res
res
-----------
1
(1 row(s) affected)
SELECT ASCII(N'99') AS '99',ASCII(N'9:') AS'9:'
SELECT ASCII(N'9') AS '9',ASCII(N':') AS':'
SELECT ASCII(N'99') AS '99',ASCII(N':9') AS':9'
DECLARE @T TABLE(NAME NVARCHAR(2))
INSERT @T SELECT N'99' UNION ALL SELECT N'9:'
SELECT * FROM @T WHERE NAME>N'9:'
DECLARE @TA TABLE(NAME VARCHAR(2))
INSERT @TA SELECT '99' UNION ALL SELECT '9:'
SELECT * FROM @TA WHERE NAME>':9'
/*99 9:
----------- -----------
57 57
(所影响的行数为 1 行)
9 :
----------- -----------
57 58
(所影响的行数为 1 行)
99 :9
----------- -----------
57 58
(所影响的行数为 1 行)
(所影响的行数为 2 行)
NAME
----
99
(所影响的行数为 1 行)
(所影响的行数为 2 行)
NAME
----
99
9:
(所影响的行数为 2 行)
*/
select case when '99'>'98' then 1 else 0 end
/*
-----------
1
(所影响的行数为 1 行)
*/
SELECT ASCII('9A')
SELECT ASCII('99')
-----------
57
(1 row(s) affected)
-----------
57
(1 row(s) affected)
常用ASCII码表(方便查找)
键盘
ASCII码
键盘
ASCII码
键盘
ASCII码
键盘
ASCII码
ESC 27 7 55 O 79 g 103
SPACE 32 8 56 P 80 h 104
! 33 9 57 Q 81 i 105
" 34 : 58 R 82 j 106
# 35 ; 59 S 83 k 107
$ 36 < 60 T 84 l 108
% 37 = 61 U 85 m 109
& 38 > 62 V 86 n 110
' 39 ? 63 W 87 o 111
( 40 @ 64 X 88 p 112
) 41 A 65 Y 89 q 113
* 42 B 66 Z 90 r 114
+ 43 C 67 [ 91 s 115
' 44 D 68 \ 92 t 116
- 45 E 69 ] 93 u 117
. 46 F 70 ^ 94 v 118
/ 47 G 71 _ 95 w 119
0 48 H 72 ` 96 x 120
1 49 I 73 a 97 y 121
2 50 J 74 b 98 z 122
3 51 K 75 c 99 { 123
4 52 L 76 d 100 | 124
5 53 M 77 e 101 } 125
6 54 N 78 f 102 ~ 126
另外2个特殊ASCII码:回车=13,换行=10
SELECT ASCII('99') AS '99',ASCII('9:') AS'9:'
SELECT ASCII('9') AS '9',ASCII(':') AS':'
/*
99 9:
----------- -----------
57 57
(所影响的行数为 1 行)
9 :
----------- -----------
57 58
(所影响的行数为 1 行)
SELECT ASCII('9') AS '9',ASCII(':') AS':'
/*
9 :
----------- -----------
57 58
(所影响的行数为 1 行)