验证 SQL 的排序规则
- MySQL
- 2019-04-28
- 120热度
- 0评论
问题
在 SQL 中,各个字符的排序规则是什么?哪个在前,哪个在后?
例如,我想知道下面这些字符在 SQL 中的顺序,怎么办?
0123ABCDabcd!@#$%^&*()-_+=[]{};:'"\|`~,.<>/?
解决方案
思路:在 MySQL 中创建一张表,只存一列数据,格式为 CHAR(1),然后依次插入上面的字符,再用 SELECT ORDER BY 来查看顺序。
SQL 语句为:
CREATE TABLE char_test
(
foochar CHAR(1) NOT NULL
);
INSERT INTO char_test(foochar) VALUES('0');
INSERT INTO char_test(foochar) VALUES('1');
INSERT INTO char_test(foochar) VALUES('2');
INSERT INTO char_test(foochar) VALUES('3');
INSERT INTO char_test(foochar) VALUES('A');
INSERT INTO char_test(foochar) VALUES('B');
INSERT INTO char_test(foochar) VALUES('C');
INSERT INTO char_test(foochar) VALUES('D');
INSERT INTO char_test(foochar) VALUES('a');
INSERT INTO char_test(foochar) VALUES('b');
INSERT INTO char_test(foochar) VALUES('c');
INSERT INTO char_test(foochar) VALUES('d');
INSERT INTO char_test(foochar) VALUES('!');
INSERT INTO char_test(foochar) VALUES('@');
INSERT INTO char_test(foochar) VALUES('#');
INSERT INTO char_test(foochar) VALUES('$');
INSERT INTO char_test(foochar) VALUES('%');
INSERT INTO char_test(foochar) VALUES('^');
INSERT INTO char_test(foochar) VALUES('&');
INSERT INTO char_test(foochar) VALUES('*');
INSERT INTO char_test(foochar) VALUES('(');
INSERT INTO char_test(foochar) VALUES(')');
INSERT INTO char_test(foochar) VALUES('-');
INSERT INTO char_test(foochar) VALUES('_');
INSERT INTO char_test(foochar) VALUES('+');
INSERT INTO char_test(foochar) VALUES('=');
INSERT INTO char_test(foochar) VALUES('[');
INSERT INTO char_test(foochar) VALUES(']');
INSERT INTO char_test(foochar) VALUES('{');
INSERT INTO char_test(foochar) VALUES('}');
INSERT INTO char_test(foochar) VALUES(';');
INSERT INTO char_test(foochar) VALUES(':');
INSERT INTO char_test(foochar) VALUES('\'');
INSERT INTO char_test(foochar) VALUES('"');
INSERT INTO char_test(foochar) VALUES('\\');
INSERT INTO char_test(foochar) VALUES('|');
INSERT INTO char_test(foochar) VALUES('`');
INSERT INTO char_test(foochar) VALUES('~');
INSERT INTO char_test(foochar) VALUES(',');
INSERT INTO char_test(foochar) VALUES('.');
INSERT INTO char_test(foochar) VALUES('<');
INSERT INTO char_test(foochar) VALUES('>');
INSERT INTO char_test(foochar) VALUES('/');
INSERT INTO char_test(foochar) VALUES('?');
SELECT foochar FROM char_test ORDER BY foochar;
执行结果如下:
!
"
#
$
%
&
'
(
)
*
+
,
-
.
/
0
1
2
3
:
;
<
=
>
?
@
a
A
b
B
c
C
d
D
[
\
]
^
_
`
{
|
}
~