" /> " /> JoomThumbnail
Головна SQL Маски

SQL маски можуть бути використані при пошуку даних.

SQL маски можуть замінити один або більше символів при пошуку даних в базі даних.

SQL маски повинні бути використані з оператором SQL LIKE.

У SQL доступні наступні маски:

МаскаОпис
% Означає нуль або більше символів
_ Означає один символ
[Charlist] Будь-які символи з зазначених
[^ Charlist]

або

[! Charlist]

Будь-які символи крім зазначених

Приклад використання масок в SQL

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Використання%

починається на літеру "sa" з таблиці вище.

Для цього використовуємо такий запит:

1
2
SELECT * FROM Persons
WHERE City LIKE 'sa%'

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

містить в собі букви "nes". Не важливо, в якому місці будуть знаходитися дані символи, на початку або кінці слова.

Для цього використовуємо такий запит:

1
2
SELECT * FROM Persons
WHERE City LIKE '%nes%'

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

Використання _

Тепер ми хочемо вибрати всіх осіб, які мають прізвище, містить літери "la" з таблиці вище.

Для цього використовуємо такий запит:

1
2
SELECT * FROM Persons
WHERE FirstName LIKE '_la'

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes

Тепер ми хочемо вибрати осіб з прізвищем, яке починається с буквы "S", после чего любой символ, а затем "end", после чего любой символ, за которым следует "on"из таблицы "Persons".

Для цього використовуємо такий запит:

1
2
SELECT * FROM Persons
WHERE LastName LIKE 'S_end_on'

P_IdLastNameFirstNameAddressCity
2 Svendson Tove Borgvn 23 Sandnes

Іспьзованіе [Charlist]

Тепер ми хочемо вибрати осіб з прізвищем, яке починається з "b" або "s" або "p" з таблиці "Persons".

Для цього використовуємо такий запит:

1
2
SELECT * FROM Persons
WHERE LastName LIKE '[Bsp]%'

P_IdLastNameFirstNameAddressCity
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Тепер ми хочемо вибрати осіб з прізвищем, яке НЕ починається з "b" або "s" або "p" з таблиці "Persons".

Для цього використовуємо такий запит:

1
2
SELECT * FROM Persons
WHERE LastName LIKE '[! Bsp]%'

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes

Коментарі

 
+13 #1 Алексей 2009-09-09 17:43 В MS SQL 2000 така конструкція НЕ працює
SELECT * FROM осіб
ДЕ Прізвище LIKE '[! BSP]%'
тобто вона сприймає знак "!" як просто знак. Природно для вибірки осіб з прізвищем, яка НЕ починається з "b" або "s" або "p" з таблиці "Persons" працює така конструкція
SELECT * FROM осіб
Прізвище, ДЕ НЕ ПОДОБАЄТЬСЯ "[BSP]% '
Цитувати
 
 
+5 #2 villian 2010-06-09 11:33 а '[^ Ex]% ' і також НЕ rabotaet? Цитувати
 
 
0 #3 Шелест Константин 2010-10-29 18:22 На SQL Server Management Studio 2005 теж працює такий код:

SELECT * FROM осіб
WHERE LastName NOT LIKE '[bsp]' а, знак! приймає як простий символ
Цитувати
 
 
0 #4 Шелест Константин 2010-10-29 18:27 Цитую villian:
а '[^ Ex]% ' і також НЕ rabotaet?


На Server Management Studio 2005 rabotaet)))
Цитувати
 
 
0 #5 Antonio 2012-04-16 17:48










Цитувати
 

Авторизація

Nice Ajax Poll

Яке з моїх розширень найкраще?

Статистика

Реклама