Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Zwróć wiersze zawierające znaki inne niż alfanumeryczne w SQL Server

Oto przykłady zwracania wierszy zawierających znaki inne niż alfanumeryczne w programie SQL Server.

Znaki inne niż alfanumeryczne obejmują znaki interpunkcyjne, takie jak [email protected]#&()–[{}]:;',?/* i symbole takie jak `~$^+=<>“ , a także znaki odstępu, takie jak spacja lub tabulatory.

Przykładowe dane

Załóżmy, że mamy następującą tabelę:

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;

Wynik:

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

Przykład 1:wiersz zawiera tylko znaki inne niż alfanumeryczne

Oto przykład kodu zwracającego wiersze zawierające tylko znaki inne niż alfanumeryczne:

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

Wynik:

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

Przykład 2:wiersz zawiera znaki inne niż alfanumeryczne

Oto przykład kodu, który zwraca wiersze zawierające znaki inne niż alfanumeryczne, ale może również zawierać znaki alfanumeryczne:

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

Wynik:

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

Aby wykluczyć spacje:

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

Wynik:

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Korzystanie z SolarWinds Serv-U w systemie Linux z bazą danych uwierzytelniania SQL Server

  2. Generuj SQL Utwórz skrypty dla istniejących tabel za pomocą Query

  3. SQL Server 2016:Przywracanie bazy danych

  4. Nieobsługiwane słowo kluczowe:Metadane

  5. Usuń wypełnienie podczas wysyłania wyników zapytania w wiadomości e-mail z serwera SQL (T-SQL)