SQL12: Operador SQL LëKE

L'operador LIKE s'utilitza en una clàusula WHERE per cercar un patró especificat en una columna.
Sovint s'utilitzen dos comodins juntament amb l'operador LIKE:
- El signe de percentatge (%) representa zero, un o diversos caràcters
- El signe de guió baix (_) representa un sol caràcter
El signe de percentatge i el guió baix també es poden utilitzar en combinacions!


LIKE Exemple: comença amb 'a'

La següent instrucció SQL selecciona tots els clients amb un CustomerName que comença per "a":

SQL: SELECT * FROM Customers WHERE CustomerName LIKE 'a%'
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.like("a%")); print(list);





LIKE Exemple: acaba amb 'a'

La següent instrucció SQL selecciona tots els clients amb un CustomerName que acaba amb "a":

SQL: SELECT * FROM Customers WHERE CustomerName LIKE '%a'
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.like("%a")); print(list);





LIKE Exemple: amb subcadena

La següent instrucció SQL selecciona tots els clients amb un CustomerName que tenen "o" en qualsevol posició:

SQL: SELECT * FROM Customers WHERE CustomerName LIKE '%or%';
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.like("%or%")); print(list);





LIKE Exemple: amb char

La següent instrucció SQL selecciona tots els clients amb un CustomerName que tenen "r" a la segona posició:

SQL: SELECT * FROM Customers WHERE CustomerName LIKE '_r%'
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.like("_r%")); print(list);





LIKE Exemple: amb almenys 3 caràcters

La següent instrucció SQL selecciona tots els clients amb un CustomerName que comenci per "a" i tingui almenys 3 caràcters:

SQL: SELECT * FROM Customers WHERE CustomerName LIKE 'a__%'
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.like("a__%")); print(list);





LIKE Exemple: amb inici i final

La següent instrucció SQL selecciona tots els clients amb un ContactName que comença amb "a" i acaba amb "s":

SQL: SELECT * FROM Customers WHERE CustomerName LIKE 'a%a'
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.like("a%s")); print(list);





LIKE Exemple: "No m'agrada"

La següent instrucció SQL selecciona tots els clients amb un CustomerName que NO comença amb "a":

SQL: SELECT * FROM Customers WHERE CustomerName NOT LIKE 'a%'
GenQL:
List<Customers> list; list = getCustomerManager().select(CustomersFields.CUSTOMERNAME.notLike("a%")); print(list);