Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Връщане на редове, които съдържат небуквени и цифрови знаци в SQL Server

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

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Какво се случва, ако не извършите транзакция към база данни (да речем, SQL Server)?

  2. Елементите ORDER BY трябва да се появят в списъка за избор, ако изразът съдържа оператор UNION, INTERSECT или EXCEPT (SQL Server)

  3. Поддръжка на Spotlight Cloud за съобщение за Azure SQL DB (предварителен преглед)

  4. SQL Server 2016:Въздействие върху производителността на винаги криптирани

  5. как да получите началната и крайната дата на всички седмици между две дати в SQL сървър?