среда, 4 декабря 2013 г.

Как осуществить поиск по частичному соответствию строки

LIKE '%love%



-- Полное соответствие при сравнении строк-- все товары, название которых "Road"

SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name = 'Chain'

-- Полное соответствие при сравнении строк-- все товары, название которых "Road"

SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE 'Road'

-- % соответствует любым символам в любом количестве (в том числе и ноль)

-- все товары, в названии которых встречается "Road"


SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '%Road%'

-- все товары, название которых начинается с "Road"

SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE 'Road%'

-- все товары, название которых оканчивается на "ing"

SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '%ing'

-- % (процент) соответствует любым символам в любом количестве (в то числе ноль)

-- _ (подчеркивание) соответствует любому символу в количестве ОДИН 

-- все товары в названии которых встречается буква L


SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '%L%'

-- все товары в названии которых первый символ любой, далее L, потом любые символы в любом количестве


SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '_L%'

-- все товары, в названии которых первый символ от a до d включительно, потом любые символы в любом количестве


SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '[a-d]%'
ORDER BY Name

-- все товары, в названии которых первый символ d, h или s, потом любые символы в любом количестве



SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '[dhs]%'
ORDER BY Name

-- все товары в названии которых первый символ любой, потом l или m, потом любые символы в любом количестве 

SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '_[lm]%'
ORDER BY Name

-- все товары в названии которых первый символ любой, потом любой кроме l или m, потом любые символы в любом количестве


SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '_[^lm]%'
ORDER BY Name

-- все товары в названии которых содержится символ процента

SELECT *
FROM AdventureWorks2012.Production.Product
WHERE Name LIKE '%[%]%'
ORDER BY Name