ASCII가 아닌 문자는 파운드 기호(£), 상표 기호, plusminussymbol 등과 같은 문자입니다. 표에서 ASCII가 아닌 문자를 찾으려면 다음 단계가 필요합니다. -
먼저 다음과 같이 주어진 create 명령의 도움으로 테이블이 생성됩니다 -
mysql> CREATE table NonASciiDemo -> ( -> NonAScii varchar(100) -> ); Query OK, 0 rows affected (0.61 sec)
그 후 레코드는 다음과 같은 삽입 명령을 사용하여 테이블에 삽입됩니다. -
mysql> INSERT into NonASciiDemo values('-,-'); Query OK, 1 row affected (0.18 sec) mysql> INSERT into NonASciiDemo values(' '); Query OK, 1 row affected (0.23 sec) mysql> INSERT into NonASciiDemo values('£'); Query OK, 1 row affected (0.30 sec) mysql> INSERT into NonASciiDemo values('123abcd£'); Query OK, 1 row affected (0.24 sec)
4개의 레코드가 위와 같이 테이블에 삽입되며, 2개의 레코드에는 ASCII가 아닌 문자가 포함되고 2개의 레코드에는 ASCII 문자가 포함됩니다.
모든 레코드를 표시하려면 다음과 같이 select 명령을 사용합니다. -
SELECT * from NonASciiDemo;
다음은 출력입니다.
+----------+ | NonAScii | +----------+ | -,- | | | | £ | | 123abcd£ | +----------+ 4 rows in set (0.00 sec)
ASCII가 아닌 문자를 찾는 구문은 다음과 같습니다. -
SELECT * FROM yourTableName WHERE NOT HEX(yourColumnName) REGEXP '^([0-7][0- 9A-F])*$';
위 구문을 사용하여 비 ASCII 문자를 가져오는 쿼리는 다음과 같습니다. -
mysql> SELECT * FROM NonASciiDemo WHERE NOT HEX(NonAScii) REGEXP '^([0-7][0-9AF])*$';
다음은 위 쿼리의 출력입니다 -
+----------+ | NonAScii | +----------+ | £ | | 123abcd£ | +----------+ 2 rows in set (0.00 sec)