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