90 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			90 lines
		
	
	
		
			5.1 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								title: SQL LIKE Operator
							 | 
						|||
| 
								 | 
							
								localeTitle: Оператор SQL LIKE
							 | 
						|||
| 
								 | 
							
								---
							 | 
						|||
| 
								 | 
							
								## Оператор SQL LIKE
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### LIKE Определенный оператор
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Оператор `LIKE` используется в `WHERE` или `HAVING` (как часть `GROUP BY` ), чтобы ограничить выбранные строки элементами, когда столбец имеет определенный шаблон символов, содержащихся в нем.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Это руководство продемонстрирует:
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								*   Определение того, начинается или заканчивается строка с заданным шаблоном строки
							 | 
						|||
| 
								 | 
							
								*   Определение наличия шаблона в середине строки
							 | 
						|||
| 
								 | 
							
								*   Определение, если строка не содержится в строке
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Столбец начинается или заканчивается заданной строкой строки
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Этот SQL будет выбирать студентов, у которых есть `FullName` начиная с «Monique» или заканчивая «Greene».
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```sql
							 | 
						|||
| 
								 | 
							
								SELECT studentID, FullName, sat_score, rcd_updated 
							 | 
						|||
| 
								 | 
							
								 FROM student 
							 | 
						|||
| 
								 | 
							
								 WHERE 
							 | 
						|||
| 
								 | 
							
								 FullName LIKE 'Monique%' OR -- note the % at the end but not the beginning 
							 | 
						|||
| 
								 | 
							
								 FullName LIKE '%Greene'; -- note the % at the beginning but not the end 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```text
							 | 
						|||
| 
								 | 
							
								+-----------+---------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 | studentID | FullName      | sat_score | rcd_updated         | 
							 | 
						|||
| 
								 | 
							
								 +-----------+---------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 |         1 | Monique Davis |       400 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         5 | Alvin Greene  |      1200 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 +-----------+---------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 2 rows in set (0.00 sec) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Строковый шаблон находится в середине столбца
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Этот SQL будет выбирать студентов, которые имеют «ree» в любом месте в названии.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```sql
							 | 
						|||
| 
								 | 
							
								SELECT studentID, FullName, sat_score, rcd_updated 
							 | 
						|||
| 
								 | 
							
								 FROM student 
							 | 
						|||
| 
								 | 
							
								 WHERE FullName LIKE '%ree%'; -- note the % at the beginning AND at the end 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```text
							 | 
						|||
| 
								 | 
							
								+-----------+----------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 | studentID | FullName       | sat_score | rcd_updated         | 
							 | 
						|||
| 
								 | 
							
								 +-----------+----------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 |         5 | Alvin Greene   |      1200 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         6 | Sophie Freeman |      1200 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 +-----------+----------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 2 rows in set (0.00 sec) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								### Строка НЕ находится в столбце
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								Вы можете поместить «NOT» перед LIKE, чтобы исключить строки с шаблоном строки вместо их выбора. Этот SQL исключает записи, содержащие «cer Pau» и «Ted» в столбце FullName.
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```sql
							 | 
						|||
| 
								 | 
							
								SELECT studentID, FullName, sat_score, rcd_updated 
							 | 
						|||
| 
								 | 
							
								 FROM student 
							 | 
						|||
| 
								 | 
							
								 WHERE FullName NOT LIKE '%cer Pau%' AND FullName NOT LIKE '%"Ted"%'; 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```text
							 | 
						|||
| 
								 | 
							
								+-----------+----------------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 | studentID | FullName             | sat_score | rcd_updated         | 
							 | 
						|||
| 
								 | 
							
								 +-----------+----------------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 |         1 | Monique Davis        |       400 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         2 | Teri Gutierrez       |       800 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         4 | Louis Ramsey         |      1200 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         5 | Alvin Greene         |      1200 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         6 | Sophie Freeman       |      1200 | 2017-08-16 15:34:50 | 
							 | 
						|||
| 
								 | 
							
								 |         8 | Donald D. Chamberlin |      2400 | 2017-08-16 15:35:33 | 
							 | 
						|||
| 
								 | 
							
								 |         9 | Raymond F. Boyce     |      2400 | 2017-08-16 15:35:33 | 
							 | 
						|||
| 
								 | 
							
								 +-----------+----------------------+-----------+---------------------+ 
							 | 
						|||
| 
								 | 
							
								 7 rows in set (0.00 sec) 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								_Вот текущий полный список студентов, чтобы сравнить с приведенными выше результатами предложения where._
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								```sql
							 | 
						|||
| 
								 | 
							
								SELECT studentID, FullName, sat_score, rcd_updated FROM student; 
							 | 
						|||
| 
								 | 
							
								```
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								\`\` \`Текст + ----------- + ------------------------ + ----------- + --------------------- + | studentID | FullName | счётчик _| rcd_ обновлено | + ----------- + ------------------------ + ----------- + --------------------- + | 1 | Моник Дэвис | 400 | 2017-08-16 15:34:50 | | 2 | Тери Гутьеррес | 800 | 2017-08-16 15:34:50 | | 3 | Спенсер Потье | 1000 | 2017-08-16 15:34:50 | | 4 | Луи Рэмси | 1200 | 2017-08-16 15:34:50 | | 5 | Элвин Грин | 1200 | 2017-08-16 15:34:50 | | 6 | Софи Фримен | 1200 | 2017-08-16 15:34:50 | | 7 | Эдгар Фрэнк «Тед» Кодд | 2400 | 2017-08-16 15:35:33 | | 8 | Дональд Д. Чемберлен | 2400 | 2017-08-16 15:35:33 | | 9 | Раймонд Ф. Бойс | 2400 | 2017-08-16 15:35:33 | + ----------- + ------------------------ + ----------- + --------------------- + 9 строк в наборе (0,00 сек)
							 |