Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Renvoyer des lignes contenant des caractères non alphanumériques dans SQL Server

Voici des exemples de lignes renvoyées contenant des caractères non alphanumériques dans SQL Server.

Les caractères non alphanumériques incluent les caractères de ponctuation tels que [email protected]#&()–[{}]:;',?/* et des symboles comme `~$^+=<>“ , ainsi que des caractères d'espacement tels que les espaces ou les tabulations.

Exemple de données

Supposons que nous ayons le tableau suivant :

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;

Résultat :

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

Exemple 1 :la ligne ne contient que des caractères non alphanumériques

Voici un exemple de code qui renvoie des lignes contenant uniquement des caractères non alphanumériques :

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

Résultat :

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

Exemple 2 :la ligne contient des caractères non alphanumériques

Voici un exemple de code qui renvoie des lignes contenant des caractères non alphanumériques, mais pouvant également contenir des caractères alphanumériques :

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

Résultat :

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

Pour exclure des espaces :

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

Résultat :

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