sql >> Databáze >  >> RDS >> Sqlserver

Vraťte řádky, které obsahují nealfanumerické znaky na serveru SQL

Zde jsou příklady vracení řádků, které obsahují nealfanumerické znaky v SQL Server.

Nealfanumerické znaky zahrnují interpunkční znaménka jako [email protected]#&()–[{}]:;',?/* a symboly jako `~$^+=<>“ , stejně jako mezery, jako jsou mezery nebo tabulátory.

Ukázková data

Předpokládejme, že máme následující tabulku:

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;

Výsledek:

+----------------------+
| 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                |
+----------------------+

Příklad 1:Řádek obsahuje pouze nealfanumerické znaky

Zde je příklad kódu, který vrací řádky obsahující pouze nealfanumerické znaky:

SELECT c1 FROM t1
WHERE c1 NOT LIKE '%[a-zA-Z0-9]%';

Výsledek:

+--------------------+
| c1                 |
|--------------------|
| ()                 |
| [email protected]#&()–[{}]:;',?/* |
| `~$^+=<>“          |
|                    |
+--------------------+

Příklad 2:Řádek obsahuje nealfanumerické znaky

Zde je příklad kódu, který vrací řádky obsahující nealfanumerické znaky, ale může obsahovat i alfanumerické znaky:

SELECT c1 FROM t1
WHERE c1 LIKE '%[^a-zA-Z0-9]%';

Výsledek:

+--------------------+
| c1                 |
|--------------------|
| Live Music         |
| Café Del Mar       |
| 100 Cafés          |
| [email protected]  |
| 1 + 1              |
| ()                 |
| [email protected]#&()–[{}]:;',?/* |
| `~$^+=<>“          |
| $1.50              |
| Player 456         |
| é 123              |
| ø 123              |
+--------------------+

Vyloučení mezer:

SELECT c1 FROM t1
WHERE c1 LIKE '%[^a-zA-Z0-9 ]%';

Výsledek:

+--------------------+
| c1                 |
|--------------------|
| [email protected]  |
| 1 + 1              |
| ()                 |
| [email protected]#&()–[{}]:;',?/* |
| `~$^+=<>“          |
| $1.50              |
+--------------------+

  1. verze ovladače oracle jdbc šílenství

  2. Jak provést stejnou agregaci na každém sloupci, aniž byste uváděli sloupce?

  3. Jak trvale získávat cenu Microsoft Access MVP Award

  4. Dynamická kontingenční tabulka na serveru SQL Server