T-SQL - Cláusula LIKE

El servidor MS SQL LIKELa cláusula se utiliza para comparar un valor con valores similares utilizando operadores comodín. Hay dos comodines que se utilizan junto con el operador LIKE:

  • El signo de porcentaje (%)
  • El subrayado (_)

El signo de porcentaje representa cero, uno o varios caracteres. El guión bajo representa un solo número o carácter. Los símbolos se pueden utilizar en combinaciones.

Sintaxis

A continuación se muestra la sintaxis básica de% y _.

SELECT *\column-list FROM table_name 
WHERE column LIKE 'XXXX%' 
 
or   

SELECT *\column-list FROM table_name 
WHERE column LIKE '%XXXX%'  

or  

SELECT *\column-list FROM table_name 
WHERE column LIKE 'XXXX_'  

or  

SELECT *\column-list FROM table_name 
WHERE column LIKE '_XXXX'  

or  

SELECT  *\column-list FROM table_name 
WHERE column LIKE '_XXXX_'

Puede combinar N número de condiciones utilizando operadores AND u OR. XXXX puede ser cualquier valor numérico o de cadena.

Ejemplo

A continuación se muestran una serie de ejemplos que muestran la parte DONDE tiene una cláusula LIKE diferente con los operadores '%' y '_'.

No Señor Declaración y descripción
1

WHERE SALARY LIKE '200%'

Encuentra cualquier valor que comience con 200

2

WHERE SALARY LIKE '%200%'

Encuentra cualquier valor que tenga 200 en cualquier posición

3

WHERE SALARY LIKE '_00%'

Encuentra cualquier valor que tenga 00 en la segunda y tercera posiciones

4

WHERE SALARY LIKE '2_%_%'

Encuentra cualquier valor que comience con 2 y tenga al menos 3 caracteres de longitud

5

WHERE SALARY LIKE '%2'

Encuentra cualquier valor que termine en 2

6

WHERE SALARY LIKE '_2%3'

Encuentra cualquier valor que tenga un 2 en la segunda posición y termine con un 3

7

WHERE SALARY LIKE '2___3'

Encuentra cualquier valor en un número de cinco dígitos que comience con 2 y termine con 3

Considere que la tabla CLIENTES tiene los siguientes registros.

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00 
4   Chaitali   25        Mumbai             6500.00 
5   Hardik     27        Bhopal             8500.00 
6   Komal      22        MP                 4500.00 
7   Muffy      24        Indore             10000.00

El siguiente comando es un ejemplo, que mostrará todos los registros de la tabla CLIENTES donde SALARIO comienza con 200.

SELECT * FROM CUSTOMERS 
WHERE SALARY LIKE '200%';

El comando anterior producirá el siguiente resultado.

ID   NAME     AGE     ADDRESS       SALARY 
1    Ramesh   32      Ahmedabad     2000.00 
3    kaushik  23      Kota          2000.00