Ето примери за връщане на редове, които съдържат небуквени и цифрови знаци в 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 | +--------------------+