Ето примери за връщане на редове, които съдържат небуквени и цифрови знаци в SQL Server.
Небуквени и цифрови знаци включват препинателни знаци като example@sqldat.com#&()–[{}]:;',?/* и символи като `~$^+=<>“ , както и празни знаци като интервалите или табулацията.
Примерни данни
Да предположим, че имаме следната таблица:
CREATE TABLE t1 (
c1 varchar(255) NULL
);
INSERT INTO t1 VALUES
('Music'),
('Live Music'),
('Café'),
('Café Del Mar'),
('100 Cafés'),
('example@sqldat.com'),
('1 + 1'),
('()'),
('example@sqldat.com#&()–[{}]:;'',?/*'),
('`~$^+=<>“'),
('$1.50'),
('Player 456'),
('007'),
(null),
(''),
('é'),
('É'),
('é 123'),
('ø'),
('ø 123');
SELECT c1 FROM t1; Резултат:
+----------------------+
| c1 |
+----------------------+
| Music |
| Live Music |
| Café |
| Café Del Mar |
| 100 Cafés |
| example@sqldat.com |
| 1 + 1 |
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| $1.50 |
| Player 456 |
| 007 |
| NULL |
| |
| é |
| É |
| é 123 |
| ø |
| ø 123 |
+----------------------+ Пример 1:Ред съдържа само небуквени и цифрови знаци
Ето пример за код, който връща редове, които съдържат само небуквени и цифрови знаци:
SELECT c1 FROM t1
WHERE c1 NOT LIKE '%[a-zA-Z0-9]%'; Резултат:
+--------------------+
| c1 |
|--------------------|
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| |
+--------------------+ Пример 2:Редът съдържа небуквени и цифрови знаци
Ето пример за код, който връща редове, които съдържат небуквени знаци, но могат да съдържат и буквено-цифрови знаци:
SELECT c1 FROM t1
WHERE c1 LIKE '%[^a-zA-Z0-9]%'; Резултат:
+--------------------+
| c1 |
|--------------------|
| Live Music |
| Café Del Mar |
| 100 Cafés |
| example@sqldat.com |
| 1 + 1 |
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| $1.50 |
| Player 456 |
| é 123 |
| ø 123 |
+--------------------+ За да изключите интервали:
SELECT c1 FROM t1
WHERE c1 LIKE '%[^a-zA-Z0-9 ]%'; Резултат:
+--------------------+
| c1 |
|--------------------|
| example@sqldat.com |
| 1 + 1 |
| () |
| example@sqldat.com#&()–[{}]:;',?/* |
| `~$^+=<>“ |
| $1.50 |
+--------------------+