Este tema an no ha recibido ninguna valoracin - Valorar este tema Compara un valor escalar con un conjunto de valores de una sola columna. SOME y ANY son equivalentes. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis scalar_expression { = | < > | ! = | > | > = | ! > | < | < = | ! < } { SOME | ANY } ( subquery ) Argumentos scalar_expression Es cualquier expresin vlida. { = | <> | != | > | >= | !> | < | <= | !< } Es cualquier operador de comparacin vlido. SOME | ANY Especifica que se debe realizar una comparacin. subquery Es una subconsulta con un conjunto de resultados de una columna. El tipo de datos de la columna devuelta debe ser el mismo que el de scalar_expression. Tipos de resultado Boolean Valor del resultado SOME o ANY devuelven TRUE cuando la comparacin especificada es TRUE para cualquier par (scalar_expression,x), donde x es un valor del conjunto de una sola columna; de lo contrario, devuelve FALSE. Comentarios SOME requiere que la scalar_expression se compare de forma positiva con al menos un valor devuelto por la subconsulta. Para instrucciones que requieren que scalar_expression se compare de forma positiva con cada valor devuelto por la subconsulta, vea ALL (Transact-SQL). Por ejemplo, si la subconsulta devuelve los valores 2 y 3, scalar_expression = SOME (subconsulta) evaluara como TRUE para scalar_express de 2. Si la subconsulta devuelve los valores 2 y 3, scalar_expression = ALL (subconsulta) se evaluara como FALSE, porque algunos de los valores de la subconsulta (el valor 3) no cumplira los criterios de la expresin. Ejemplos A.Ejecutar un ejemplo sencillo Las instrucciones siguientes crean una tabla simple y agregan los valores 1, 2, 3 y 4 a la columna de ID. CREATE TABLE T1 (ID int) ; GO INSERT T1 VALUES (1) ; INSERT T1 VALUES (2) ; INSERT T1 VALUES (3) ; INSERT T1 VALUES (4) ; La consulta siguiente devuelve TRUE porque 3 es menor que alguno de los valores de la tabla. IF 3 < SOME (SELECT ID FROM T1) PRINT 'TRUE' ELSE PRINT 'FALSE' ; La consulta siguiente devuelve FALSE porque 3 no es menor que todos los valores de la tabla. IF 3 < ALL (SELECT ID FROM T1) PRINT 'TRUE' ELSE PRINT 'FALSE' ; B.Ejecutar un ejemplo prctico En el ejemplo siguiente se crea un procedimiento almacenado que determina si todos los componentes de un SalesOrderID especificado en la base de datos AdventureWorks2012 se pueden fabricar en el nmero de das especificado. En el ejemplo se usa una subconsulta para crear una lista de valores de DaysToManufacture para todos los componentes del SalesOrderID especificado y, a continuacin, se comprueba si alguno de los valores devueltos por la subconsulta es mayor que el nmero de das especificado. Si cada valor de DaysToManufacture que se devuelve es menor que el nmero proporcionado, la condicin es TRUE y se imprime el primer mensaje. USE AdventureWorks2012 ; GO
CREATE PROCEDURE ManyDaysToComplete @OrderID int, @NumberOfDays int AS IF @NumberOfDays < SOME ( SELECT DaysToManufacture FROM Sales.SalesOrderDetail JOIN Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID WHERE SalesOrderID = @OrderID ) PRINT 'At least one item for this order cannot be manufactured in specified number of days.' ELSE PRINT 'All items for this order can be manufactured in the specified number of days or less.' ; Para probar el procedimiento, ejectelo utilizando SalesOrderID49080, que tiene un componente que requiere 2 das y dos componentes que requieren 0 das. La primera instruccin cumple los criterios. La segunda consulta no los cumple. EXECUTE ManyDaysToComplete 49080, 2 ; El conjunto de resultados es el siguiente. All items for this order can be manufactured in the specified number of days or less. EXECUTE ManyDaysToComplete 49080, 1 ; El conjunto de resultados es el siguiente. At least one item for this order cannot be manufactured in specified number of days.
BETWEEN (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Especifica un intervalo que se va a probar. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis test_expression [ NOT ] BETWEEN begin_expression AND end_expression Argumentos test_expression Es la expresin que se va a probar en el rango definido por begin_expressiony end_expression. test_expression debe tener el mismo tipo de datos que begin_expression y end_expression. NOT Especifica que se niega el resultado del predicado. begin_expression Cualquier expresin vlida. begin_expression debe tener el mismo tipo de datos que test_expression y end_expression. end_expression Cualquier expresin vlida. end_expression debe tener el mismo tipo de datos que test_expressiony begin_expression. AND Acta como un marcador de posicin que indica que test_expression debe estar dentro del intervalo indicado por begin_expression y end_expression. Tipos de resultado Boolean Valor del resultado BETWEEN devuelve TRUE si el valor de test_expression es mayor o igual que el valor de begin_expression y menor o igual que el valor de end_expression. NOT BETWEEN devuelve TRUE si el valor de test_expression es o bien menor que el valor de begin_expression o sino mayor que el valor de end_expression. Comentarios Para especificar un intervalo exclusivo, utilice los operadores mayor que (>) y menor que (<). Si alguna entrada del predicado BETWEEN o NOT BETWEEN es NULL, el resultado es UNKNOWN. Ejemplos A.Utilizar BETWEEN En el siguiente ejemplo se devuelven los empleados de Adventure Works Cycles cuya tarifa por hora se encuentra entre 27 y 30. USE AdventureWorks2012; GO SELECT e.FirstName, e.LastName, ep.Rate FROM HumanResources.vEmployee e JOIN HumanResources.EmployeePayHistory ep ON e.BusinessEntityID = ep.BusinessEntityID WHERE ep.Rate BETWEEN 27 AND 30 ORDER BY ep.Rate; GO El conjunto de resultados es el siguiente. FirstName LastName Rate ----------- ------------------ ------------------ Paula Barreto de Mattos 27.1394 Karen Berg 27.4038 Ramesh Meyyappan 27.4038 Dan Bacon 27.4038 Janaina Bueno 27.4038 David Bradley 28.7500 Hazem Abolrous 28.8462 Ovidiu Cracium 28.8462 Rob Walters 29.8462 Sheela Word 30.0000 (10 row(s) affected) B.Utilizar > y < en lugar de BETWEEN En el siguiente ejemplo se utilizan los operadores mayor que (>) y menor que (<) y, puesto que dichos operadores no son inclusivos, se devuelven nueve filas en lugar de las diez devueltas en el ejemplo anterior. USE AdventureWorks2012; GO
SELECT e.FirstName, e.LastName, ep.Rate FROM HumanResources.vEmployee e JOIN HumanResources.EmployeePayHistory ep ON e.BusinessEntityID = ep.BusinessEntityID WHERE ep.Rate > 27 AND ep.Rate < 30 ORDER BY ep.Rate; GO El conjunto de resultados es el siguiente. FirstName LastName Rate --------- ------------------- --------- Paula Barreto de Mattos 27.1394 Janaina Bueno 27.4038 Dan Bacon 27.4038 Ramesh Meyyappan 27.4038 Karen Berg 27.4038 David Bradley 28.7500 Hazem Abolrous 28.8462 Ovidiu Cracium 28.8462 Rob Walters 29.8462 (9 row(s) affected) C.Utilizar NOT BETWEEN En el siguiente ejemplo se buscan todas las filas que no estn incluidas en un intervalo especificado de 27 a 30. USE AdventureWorks2012; GO SELECT e.FirstName, e.LastName, ep.Rate FROM HumanResources.vEmployee e JOIN HumanResources.EmployeePayHistory ep ON e.BusinessEntityID = ep.BusinessEntityID WHERE ep.Rate NOT BETWEEN 27 AND 30 ORDER BY ep.Rate; GO D.Utilizar BETWEEN con valores datetime En el siguiente ejemplo se recuperan filas en las que los valores datetime estn entre '20011212' y '20020105', ambos incluidos. USE AdventureWorks2012; GO SELECT BusinessEntityID, RateChangeDate FROM HumanResources.EmployeePayHistory WHERE RateChangeDate BETWEEN '20011212' AND '20020105'; El conjunto de resultados es el siguiente. BusinessEntityID RateChangeDate ----------- ----------------------- 3 2001-12-12 00:00:00.000 4 2002-01-05 00:00:00.000 La consulta recupera las filas previstas porque los valores de fecha de la consulta y los valores de datetime almacenados en la columna RateChangeDate se han especificado sin la parte de hora de la fecha. Si no se especifica la parte de hora, toma el valor predeterminado 12:00 a.m. Tenga en cuenta que esta consulta no devolver una fila que contenga una parte de hora posterior a 12:00 a.m. del 05-01-2002, ya que est fuera del rango.
EXISTS (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Especifica una subconsulta para probar la existencia de filas. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis EXISTS subquery Argumentos subquery Es una instruccin SELECT restringida. No se permite la palabra clave INTO. Para obtener ms informacin, vea la informacin acerca de las subconsultas que aparece en SELECT (Transact-SQL). Tipos de resultado Boolean Valores de resultado Devuelve TRUE si una subconsulta contiene filas. Ejemplos A.Utilizar NULL en una subconsulta para seguir devolviendo un conjunto de resultados En el ejemplo siguiente se devuelve un conjunto de resultados con NULL especificado en la subconsulta, que se sigue evaluando como TRUE al utilizar EXISTS. USE AdventureWorks2012 ; GO SELECT DepartmentID, Name FROM HumanResources.Department WHERE EXISTS (SELECT NULL) ORDER BY Name ASC ; B.Comparar consultas mediante EXISTS e IN En el ejemplo siguiente se comparan dos consultas que son semnticamente equivalentes. En la primera consulta se utiliza EXISTS y en la segunda IN. USE AdventureWorks2012 ; GO SELECT a.FirstName, a.LastName FROM Person.Person AS a WHERE EXISTS (SELECT * FROM HumanResources.Employee AS b WHERE a.BusinessEntityID = b.BusinessEntityID AND a.LastName = 'Johnson'); GO En la siguiente consulta se usa IN. USE AdventureWorks2012 ; GO SELECT a.FirstName, a.LastName FROM Person.Person AS a WHERE a.LastName IN (SELECT a.LastName FROM HumanResources.Employee AS b WHERE a.BusinessEntityID = b.BusinessEntityID AND a.LastName = 'Johnson'); GO Este es el conjunto de resultados de las consultas. FirstName LastName -------------------------------------------------- ---------- Barry Johnson David Johnson Willis Johnson (3 row(s) affected) C.Comparar consultas mediante EXISTS y = ANY En el ejemplo siguiente se muestran dos consultas para buscar tiendas cuyo nombre sea el mismo que el de un proveedor. En la primera consulta se utiliza EXISTS y en la segunda =ANY. USE AdventureWorks2012 ; GO SELECT DISTINCT s.Name FROM Sales.Store AS s WHERE EXISTS (SELECT * FROM Purchasing.Vendor AS v WHERE s.Name = v.Name) ; GO En la siguiente consulta se utiliza = ANY. USE AdventureWorks2012 ; GO SELECT DISTINCT s.Name FROM Sales.Store AS s WHERE s.Name = ANY (SELECT v.Name FROM Purchasing.Vendor AS v ) ; GO D.Comparar consultas mediante EXISTS e IN En el siguiente ejemplo se muestran consultas para buscar empleados de departamentos que comiencen por P. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName, e.JobTitle FROM Person.Person AS p JOIN HumanResources.Employee AS e ON e.BusinessEntityID = p.BusinessEntityID WHERE EXISTS (SELECT * FROM HumanResources.Department AS d JOIN HumanResources.EmployeeDepartmentHistory AS edh ON d.DepartmentID = edh.DepartmentID WHERE e.BusinessEntityID = edh.BusinessEntityID AND d.Name LIKE 'P%'); GO En la siguiente consulta se usa IN. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName, e.JobTitle FROM Person.Person AS p JOIN HumanResources.Employee AS e ON e.BusinessEntityID = p.BusinessEntityID JOIN HumanResources.EmployeeDepartmentHistory AS edh ON e.BusinessEntityID = edh.BusinessEntityID WHERE edh.DepartmentID IN (SELECT DepartmentID FROM HumanResources.Department WHERE Name LIKE 'P%'); GO E.Utilizar NOT EXISTS NOT EXISTS funciona de forma contraria a EXISTS. La clusula WHERE de NOT EXISTS se cumple si la subconsulta no devuelve ninguna fila. En el siguiente ejemplo se buscan empleados que no sean de departamentos cuyos nombres empiecen por P. SELECT p.FirstName, p.LastName, e.JobTitle FROM Person.Person AS p JOIN HumanResources.Employee AS e ON e.BusinessEntityID = p.BusinessEntityID WHERE NOT EXISTS (SELECT * FROM HumanResources.Department AS d JOIN HumanResources.EmployeeDepartmentHistory AS edh ON d.DepartmentID = edh.DepartmentID WHERE e.BusinessEntityID = edh.BusinessEntityID AND d.Name LIKE 'P%') ORDER BY LastName, FirstName GO El conjunto de resultados es el siguiente. FirstName LastName Title ------------------------------ ------------------------------ ------------ Syed Abbas Pacific Sales Manager Hazem Abolrous Quality Assurance Manager Humberto Acevedo Application Specialist Pilar Ackerman Shipping & Receiving Superviso Franois Ajenstat Database Administrator Amy Alberts European Sales Manager Sean Alexander Quality Assurance Technician Pamela Ansman-Wolfe Sales Representative Zainal Arifin Document Control Manager David Barber Assistant to CFO Paula Barreto de Mattos Human Resources Manager Shai Bassli Facilities Manager Wanida Benshoof Marketing Assistant Karen Berg Application Specialist Karen Berge Document Control Assistant Andreas Berglund Quality Assurance Technician Matthias Berndt Shipping & Receiving Clerk Jo Berry Janitor Jimmy Bischoff Stocker Michael Blythe Sales Representative David Bradley Marketing Manager Kevin Brown Marketing Assistant David Campbell Sales Representative Jason Carlson Information Services Manager Fernando Caro Sales Representative Sean Chai Document Control Assistant Sootha Charncherngkha Quality Assurance Technician Hao Chen HR Administrative Assistant Kevin Chrisulis Network Administrator Pat Coleman Janitor Stephanie Conroy Network Manager Debra Core Application Specialist Ovidiu Crcium Sr. Tool Designer Grant Culbertson HR Administrative Assistant Mary Dempsey Marketing Assistant Thierry D'Hers Tool Designer Terri Duffy VP Engineering Susan Eaton Stocker Terry Eminhizer Marketing Specialist Gail Erickson Design Engineer Janice Galvin Tool Designer Mary Gibson Marketing Specialist Jossef Goldberg Design Engineer Sariya Harnpadoungsataya Marketing Specialist Mark Harrington Quality Assurance Technician Magnus Hedlund Facilities Assistant Shu Ito Sales Representative Stephen Jiang North American Sales Manager Willis Johnson Recruiter Brannon Jones Finance Manager Tengiz Kharatishvili Control Specialist Christian Kleinerman Maintenance Supervisor Vamsi Kuppa Shipping & Receiving Clerk David Liu Accounts Manager Vidur Luthra Recruiter Stuart Macrae Janitor Diane Margheim Research & Development Enginee Mindy Martin Benefits Specialist Gigi Matthew Research & Development Enginee Tete Mensa-Annan Sales Representative Ramesh Meyyappan Application Specialist Dylan Miller Research & Development Manager Linda Mitchell Sales Representative Barbara Moreland Accountant Laura Norman Chief Financial Officer Chris Norred Control Specialist Jae Pak Sales Representative Wanda Parks Janitor Deborah Poe Accounts Receivable Specialist Kim Ralls Stocker Tsvi Reiter Sales Representative Sharon Salavaria Design Engineer Ken Sanchez Chief Executive Officer Jos Saraiva Sales Representative Mike Seamans Accountant Ashvini Sharma Network Administrator Janet Sheperdigian Accounts Payable Specialist Candy Spoon Accounts Receivable Specialist Michael Sullivan Sr. Design Engineer Dragan Tomic Accounts Payable Specialist Lynn Tsoflias Sales Representative Rachel Valdez Sales Representative Garrett Vargar Sales Representative Ranjit Varkey Chudukatil Sales Representative Bryan Walton Accounts Receivable Specialist Jian Shuo Wang Engineering Manager Brian Welcker VP Sales Jill Williams Marketing Specialist Dan Wilson Database Administrator John Wood Marketing Specialist Peng Wu Quality Assurance Supervisor (91 row(s) affected)
IN (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Determina si un valor especificado coincide con algn valor de una subconsulta o una lista. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis test_expression [ NOT ] IN ( subquery | expression [ ,...n ] ) Argumentos test_expression Es cualquier expresin vlida. subquery Es una subconsulta que tiene un conjunto de resultados de una columna. Esta columna debe tener el mismo tipo de datos que test_expression. expression[ ,... n ] Es una lista de expresiones en la que se buscar una coincidencia. Todas las expresiones deben ser del mismo tipo que test_expression. Tipos de resultado Boolean Valor del resultado Si el valor de test_expression es igual a cualquier valor devuelto por subquery o si es igual a cualquier expression de la lista separada por comas, el valor devuelto es TRUE; en caso contrario, el valor del resultado es FALSE. El uso de NOT IN niega el valor de subquery o expression. Advertencia Los valores NULL que devuelve subquery o expression comparados con test_expression mediante IN o NOT IN devuelven UNKNOWN. La utilizacin de valores NULL con IN o NOT IN puede provocar resultados inesperados. Comentarios Si se incluye un nmero sumamente grande de valores (muchos miles) en una clusula IN, se pueden agotar los recursos y obtenerse los errores 8623 o 8632. Para evitar este problema, almacene los elementos de la lista IN en una tabla. Error 8623: The query processor ran out of internal resources and could not produce a query plan. This is a rare event and only expected for extremely complex queries or queries that reference a very large number of tables or partitions. Please simplify the query. If you believe you have received this message in error, contact Customer Support Services for more information. Error 8632: Internal error: An expression services limit has been reached. Please look for potentially complex expressions in your query, and try to simplify them. Ejemplos A.Comparar OR e IN En el ejemplo siguiente se selecciona una lista con los nombres de los empleados que son ingenieros de diseo, ingenieros de herramientas o asistentes de marketing. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName, e.JobTitle FROM Person.Person AS p JOIN HumanResources.Employee AS e ON p.BusinessEntityID = e.BusinessEntityID WHERE e.JobTitle = 'Design Engineer' OR e.JobTitle = 'Tool Designer' OR e.JobTitle = 'Marketing Assistant'; GO No obstante, con IN se recuperan los mismos resultados. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName, e.JobTitle FROM Person.Person AS p JOIN HumanResources.Employee AS e ON p.BusinessEntityID = e.BusinessEntityID WHERE e.JobTitle IN ('Design Engineer', 'Tool Designer', 'Marketing Assistant'); GO ste es el conjunto de resultados que se obtiene con cualquiera de las dos consultas. FirstName LastName Title --------- --------- --------------------- Sharon Salavaria Design Engineer Gail Erickson Design Engineer Jossef Goldberg Design Engineer Janice Galvin Tool Designer Thierry D'Hers Tool Designer Wanida Benshoof Marketing Assistant Kevin Brown Marketing Assistant Mary Dempsey Marketing Assistant
(8 row(s) affected) B.Utilizar IN con una subconsulta En el ejemplo siguiente se buscan todos los identificadores de vendedor de la tabla SalesPerson para los empleados cuya cuota de ventas sea superior a 250.000 dlares al ao y, despus, se seleccionan en la tabla Employee los nombres de todos los empleados cuyo EmployeeID coincida con los resultados de la subconsulta SELECT. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName FROM Person.Person AS p JOIN Sales.SalesPerson AS sp ON p.BusinessEntityID = sp.BusinessEntityID WHERE p.BusinessEntityID IN (SELECT BusinessEntityID FROM Sales.SalesPerson WHERE SalesQuota > 250000); GO El conjunto de resultados es el siguiente. FirstName LastName --------- -------- Tsvi Reiter Michael Blythe Tete Mensa-Annan
(3 row(s) affected) C.Utilizar NOT IN con una subconsulta En el ejemplo siguiente se buscan los vendedores con una cuota inferior a 250.000 dlares. NOT IN busca los vendedores que no coinciden con los elementos de la lista de valores. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName FROM Person.Person AS p JOIN Sales.SalesPerson AS sp ON p.BusinessEntityID = sp.BusinessEntityID WHERE p.BusinessEntityID NOT IN (SELECT BusinessEntityID FROM Sales.SalesPerson WHERE SalesQuota > 250000); GO
LIKE (Transact-SQL) SQL Server 2014 Otras versiones
Personas que lo han encontrado til: 1 de 1 - Valorar este tema Determina si una cadena de caracteres especfica coincide con un patrn especificado. Un patrn puede contener caracteres normales y caracteres comodn. Durante la operacin de bsqueda de coincidencias de patrn, los caracteres normales deben coincidir exactamente con los caracteres especificados en la cadena de caracteres. Sin embargo, los caracteres comodn pueden coincidir con fragmentos arbitrarios de la cadena. La utilizacin de caracteres comodn hace que el operador LIKE sea ms flexible que los operadores de comparacin de cadenas = y !=. Si alguno de los argumentos no es del tipo de datos de cadena de caracteres, Motor de base de datos de SQL Server lo convierte al tipo de datos de cadena de caracteres, si es posible. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis match_expression [ NOT ] LIKE pattern [ ESCAPE escape_character ] Argumentos match_expression Es cualquier expresin vlida de tipo de datos de caracteres. pattern Es la cadena de caracteres especfica que se busca en match_expression y puede incluir los siguientes caracteres comodn vlidos. pattern puede tener 8.000 bytes como mximo. Carcter comodn Descripcin Ejemplo % Cualquier cadena de cero o ms caracteres. WHERE title LIKE '%computer%' busca todos los ttulos de libros que contengan la palabra 'computer' en el ttulo. _ (carcter de subrayado) Cualquier carcter. WHERE au_fname LIKE _ean busca todos los nombres de cuatro letras que terminen en ean (Dean, Sean, etc.) [ ] Cualquier carcter individual del intervalo ([a-f]) o del conjunto ([abcdef]) que se ha especificado. WHERE au_lname LIKE [C-P]arsen busca apellidos de autores que terminen en arsen y empiecen por cualquier carcter individual entre C y P, como Carsen, Larsen, Karsen, etc. En las bsquedas de intervalos, los caracteres incluidos en el intervalo pueden variar, dependiendo de las reglas de ordenacin de la intercalacin. [^] Cualquier carcter individual que no se encuentre en el intervalo ([^a-f]) o el conjunto ([^abcdef]) que se ha especificado. WHERE au_lname LIKE de[^l]% busca todos los apellidos de autores que empiecen por de y en los que la siguiente letra no sea l. escape_character Es un carcter que se coloca delante de un carcter comodn para indicar que el comodn no debe interpretarse como un comodn, sino como un carcter normal. escape_character es una expresin de caracteres que no tiene valor predeterminado y se debe evaluar como un nico carcter. Tipos de resultado Boolean Valor del resultado LIKE devuelve TRUE si match_expression coincide con el patternespecificado. Comentarios Cuando se realizan comparaciones de cadenas con LIKE, todos los caracteres de la cadena patrn son significativos, incluso los espacios iniciales o finales. Si una comparacin de una consulta debe devolver todas las filas con una cadena LIKE 'abc ' (abc seguido de un espacio), no se devolvern las filas en las que el valor de esa columna sea abc (sin espacio al final). Sin embargo, no se tienen en cuenta los espacios en blanco finales de la expresin con la que se compara el patrn. Si la comparacin de una consulta debe devolver todas las filas con la cadena LIKE 'abc' (abc sin espacio), se devolvern todas las filas que empiecen por abc y tengan cero o ms espacios al final. Una comparacin de cadenas donde se utilice un patrn que contenga datos de tipo char y varchar puede no pasar una comparacin LIKE debido a la forma en que se han almacenado los datos. Es importante conocer el almacenamiento de cada tipo de datos y dnde puede generar errores una comparacin LIKE. En el siguiente ejemplo se pasa una variable local char a un procedimiento almacenado y, a continuacin, se utiliza la operacin de bsqueda de coincidencias de patrn para encontrar todos los empleados cuyos apellidos empiecen por un juego de caracteres especificado. USE AdventureWorks2012; GO CREATE PROCEDURE FindEmployee @EmpLName char(20) AS SELECT @EmpLName = RTRIM(@EmpLName) + '%'; SELECT p.FirstName, p.LastName, a.City FROM Person.Person p JOIN Person.Address a ON p.BusinessEntityID = a.AddressID WHERE p.LastName LIKE @EmpLName; GO EXEC FindEmployee @EmpLName = 'Barb'; GO En el procedimiento FindEmployee, no se devuelven filas porque la variable char (@EmpLName) contiene espacios al final cuando el nombre tiene menos de 20 caracteres. Debido a que la columna LastName es de tipo varchar, no hay espacios al final. Este procedimiento no funciona porque los espacios al final son significativos. Sin embargo, el siguiente ejemplo funciona porque no se agregan espacios al final en la variable varchar: USE AdventureWorks2012; GO CREATE PROCEDURE FindEmployee @EmpLName varchar(20) AS SELECT @EmpLName = RTRIM(@EmpLName) + '%'; SELECT p.FirstName, p.LastName, a.City FROM Person.Person p JOIN Person.Address a ON p.BusinessEntityID = a.AddressID WHERE p.LastName LIKE @EmpLName; GO EXEC FindEmployee @EmpLName = 'Barb'; El conjunto de resultados es el siguiente. FirstName LastName City ---------- -------------------- --------------- Angela Barbariol Snohomish David Barber Snohomish (2 row(s) affected) Operacin de bsqueda de coincidencias de patrn con LIKE LIKE admite operaciones de bsqueda de coincidencias de patrn ASCII y Unicode. Cuando todos los argumentos (match_expression, pattern y escape_character, si estn presentes) son tipos de datos de carcter ASCII, se realiza la operacin de bsqueda de coincidencias de patrn ASCII. Si alguno de los argumentos es del tipo de datos Unicode, todos los argumentos se convierten a Unicode y se realiza la operacin de bsqueda de coincidencias de patrn Unicode. Cuando se utilizan datos Unicode (tipos de datos nchar o nvarchar) con LIKE, los espacios en blanco al final son significativos; sin embargo, para los datos que no son Unicode, no lo son. El uso que se hace de LIKE con Unicode es compatible con el estndar ISO. El uso que se hace de LIKE con ASCII es compatible con las versiones anteriores de SQL Server. A continuacin se ofrece una serie de ejemplos donde se muestran las diferencias entre las filas devueltas tras la operacin de bsqueda de coincidencias de patrn con LIKE para ASCII y Unicode. -- ASCII pattern matching with char column CREATE TABLE t (col1 char(30)); INSERT INTO t VALUES ('Robert King'); SELECT * FROM t WHERE col1 LIKE '% King'; -- returns 1 row
-- Unicode pattern matching with nchar column CREATE TABLE t (col1 nchar(30)); INSERT INTO t VALUES ('Robert King'); SELECT * FROM t WHERE col1 LIKE '% King'; -- no rows returned
-- Unicode pattern matching with nchar column and RTRIM CREATE TABLE t (col1 nchar (30)); INSERT INTO t VALUES ('Robert King'); SELECT * FROM t WHERE RTRIM(col1) LIKE '% King'; -- returns 1 row Nota La intercalacin influye en las comparaciones con LIKE. Para obtener ms informacin, vea COLLATE (Transact-SQL). Utilizar el carcter comodn % Si se especifica el smbolo LIKE '5%', el Motor de base de datos busca el nmero 5 seguido de cualquier cadena de cero o ms caracteres. Por ejemplo, la siguiente consulta muestra todas las vistas de administracin dinmica de la base de datos AdventureWorks2012 , porque todas empiezan por las letras dm. USE AdventureWorks2012; GO SELECT Name FROM sys.system_views WHERE Name LIKE 'dm%'; GO Para ver todos los objetos que no sean vistas de administracin dinmica, utilice NOT LIKE 'dm%'. Si hay un total de 32 objetos y LIKE encuentra 13 nombres que coinciden con el patrn, NOT LIKE encuentra los 19 objetos que no coinciden con el patrn de LIKE. Es posible que no siempre se encuentren los mismos nombres con un patrn como LIKE '[^d][^m]%'. En lugar de 19 nombres, puede que encuentre solo 14, quedando eliminados de los resultados todos los nombres que empiecen por d o tengan m como segunda letra, y los nombres de las vistas de administracin dinmica. Esto se debe a que las cadenas de comparacin con caracteres comodn negativos se evalan por pasos, un comodn cada vez. Si la coincidencia genera un error en algn momento de la evaluacin, se elimina. Utilizar caracteres comodn como literales Los caracteres comodn que se utilizan en la operacin de bsqueda de coincidencias de patrn se pueden utilizar como literales. Para utilizar un carcter comodn como literal, inclyalo entre corchetes. La tabla siguiente muestra varios ejemplos del uso de la palabra clave LIKE y los caracteres comodn [ ]. Smbolo Significado LIKE 5[%] 5% LIKE [_]n _n LIKE [a-cdf] a, b, c, d o f LIKE [-acdf] -, a, c, d o f LIKE [ [ ] [ LIKE ']' ] LIKE 'abc[_]d%' abc_d y abc_de LIKE 'abc[def]' abcd, abce y abcf Operacin de bsqueda de coincidencias de patrn con la clusula ESCAPE Se pueden buscar cadenas de caracteres que incluyan uno o ms caracteres comodn especiales. Por ejemplo, la tabla discounts de una base de datos customers puede almacenar valores de descuento que incluyan un signo de porcentaje (%). Para buscar el signo de porcentaje como carcter en lugar de como carcter comodn, deben suministrarse la palabra clave ESCAPE y el carcter de escape. Supongamos que una base de datos de ejemplo contiene una columna denominada comment que contiene el texto 30%. Para buscar filas que contengan la cadena 30% en cualquier parte de la columna comment, especifique una clusula WHERE como WHERE comment LIKE '%30!%%' ESCAPE '!'. Si no se especifican ESCAPE y el carcter de escape, el Motor de base de datos devolver las filas con la cadena 30. Si no hay ningn carcter despus de un carcter de escape en el patrn de LIKE, el patrn no es vlido y LIKE devuelve FALSE. Si el carcter posterior a un carcter de escape no es un carcter comodn, el carcter de escape se descarta y el carcter que sigue al escape se trata como un carcter normal del patrn. Esto afecta a los caracteres comodn del signo de porcentaje (%), carcter de subrayado (_) y corchete de apertura ([) cuando se encuentran entre corchetes dobles ([ ]). Asimismo, dentro de corchetes dobles ([ ]) se pueden aplicar caracteres de escape al smbolo de intercalacin (^), guin (-) y corchete de cierre (]). 0x0000 (char(0)) es un carcter no definido en las intercalaciones de Windows y no se puede incluir en LIKE. Ejemplos A.Utilizar LIKE con el carcter comodn % En el siguiente ejemplo se buscan todos los nmeros de telfono de la tabla PersonPhone cuyo cdigo de rea sea 415. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName, ph.PhoneNumber FROM Person.PersonPhone AS ph INNER JOIN Person.Person AS p ON ph.BusinessEntityID = p.BusinessEntityID WHERE ph.PhoneNumber LIKE '415%' ORDER by p.LastName; GO El conjunto de resultados es el siguiente. FirstName LastName Phone ----------------- ------------------- ------------ Ruben Alonso 415-555-124 Shelby Cook 415-555-0121 Karen Hu 415-555-0114 John Long 415-555-0147 David Long 415-555-0123 Gilbert Ma 415-555-0138 Meredith Moreno 415-555-0131 Alexandra Nelson 415-555-0174 Taylor Patterson 415-555-0170 Gabrielle Russell 415-555-0197 Dalton Simmons 415-555-0115 (11 row(s) affected) B.Utilizar NOT LIKE con el carcter comodn % En el siguiente ejemplo se buscan todos los nmeros de telfono de la tabla PersonPhone cuyos cdigos de rea no sean 415. USE AdventureWorks2012; GO SELECT p.FirstName, p.LastName, ph.PhoneNumber FROM Person.PersonPhone AS ph INNER JOIN Person.Person AS p ON ph.BusinessEntityID = p.BusinessEntityID WHERE ph.PhoneNumber NOT LIKE '415%' AND p.FirstName = 'Gail' ORDER BY p.LastName; GO El conjunto de resultados es el siguiente. FirstName LastName Phone ---------------------- -------------------- ------------------- Gail Alexander 1 (11) 500 555-0120 Gail Butler 1 (11) 500 555-0191 Gail Erickson 834-555-0132 Gail Erickson 849-555-0139 Gail Griffin 450-555-0171 Gail Moore 155-555-0169 Gail Russell 334-555-0170 Gail Westover 305-555-0100 (8 row(s) affected) C.Utilizar la clusula ESCAPE En el ejemplo siguiente se utiliza la clusula ESCAPE y el carcter de escape para buscar exactamente la cadena de caracteres 10-15% en la columna c1 de la tabla mytbl2. USE tempdb; GO IF EXISTS(SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_NAME = 'mytbl2') DROP TABLE mytbl2; GO USE tempdb; GO CREATE TABLE mytbl2 ( c1 sysname ); GO INSERT mytbl2 VALUES ('Discount is 10-15% off'), ('Discount is .10-.15 off'); GO SELECT c1 FROM mytbl2 WHERE c1 LIKE '%10-15!% off%' ESCAPE '!'; GO D.Utilizar el carcter comodn [ ] El ejemplo siguiente busca empleados en la tabla Person cuyo nombre sea Cheryl o Sheryl. USE AdventureWorks2012; GO SELECT BusinessEntityID, FirstName, LastName FROM Person.Person WHERE FirstName LIKE '[CS]heryl'; GO En el siguiente ejemplo se buscan las filas con empleados en la tabla Person con el apellido de Zheng o Zhang. USE AdventureWorks2012; GO SELECT LastName, FirstName FROM Person.Person WHERE LastName LIKE 'Zh[ae]ng' ORDER BY LastName ASC, FirstName ASC; GO
NOT (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Niega la entrada de un valor booleano. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis [ NOT ] boolean_expression Argumentos boolean_expression Es cualquier expresin booleana vlida. Tipos de resultado Boolean Valor del resultado NOT invierte el valor de cualquier expresin booleana. Comentarios El uso de NOT niega una expresin. La tabla siguiente muestra el resultado de comparar los valores TRUE y FALSE mediante el operador NOT. NOT TRUE FALSE FALSE TRUE UNKNOWN UNKNOWN Ejemplos En el ejemplo siguiente se buscan todas las bicicletas Silver que no tienen un precio estndar superior a los 400 $. USE AdventureWorks2012; GO SELECT ProductID, Name, Color, StandardCost FROM Production.Product WHERE ProductNumber LIKE 'BK-%' AND Color = 'Silver' AND NOT StandardCost > 400; GO El conjunto de resultados es el siguiente. ProductID Name Color StandardCost --------- ------------------- ------ ------------ 984 Mountain-500 Silver, 40 Silver 308.2179 985 Mountain-500 Silver, 42 Silver 308.2179 986 Mountain-500 Silver, 44 Silver 308.2179 987 Mountain-500 Silver, 48 Silver 308.2179 988 Mountain-500 Silver, 52 Silver 308.2179 (6 row(s) affected)
OR (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Combina dos condiciones. Cuando en una instruccin se utiliza ms de un operador lgico, los operadores OR se evalan despus de los operadores AND. Sin embargo, se puede cambiar el orden de evaluacin gracias a los parntesis. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis boolean_expression OR boolean_expression Argumentos boolean_expression Es una expresin vlida que devuelve TRUE, FALSE o UNKNOWN. Tipos de resultado Boolean Valor del resultado OR devuelve TRUE cuando alguna de las condiciones es TRUE. Comentarios En la siguiente tabla se muestra el resultado del operador OR. TRUE FALSE UNKNOWN TRUE TRUE TRUE TRUE FALSE TRUE FALSE UNKNOWN UNKNOWN TRUE UNKNOWN UNKNOWN Ejemplos En el siguiente ejemplo se utiliza la vista vEmployeeDepartmentHistory para recuperar los nombres del personal de Quality Assurance que trabaja en el turno de tarde o en el de noche. Si se omiten los parntesis, la consulta devuelve los empleados de Quality Assurance que trabajan en el turno de tarde y todos los empleados que trabajan en el turno de noche. USE AdventureWorks2012; GO SELECT FirstName, LastName, Shift FROM HumanResources.vEmployeeDepartmentHistory WHERE Department = 'Quality Assurance' AND (Shift = 'Evening' OR Shift = 'Night'); El conjunto de resultados es el siguiente. FirstName LastName Shift ------------ ---------------- ------- Andreas Berglund Evening Sootha Charncherngkha Night
ALL (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Compara un valor escalar con un conjunto de valores de una sola columna. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis scalar_expression { = | <> | != | > | >= | !> | < | <= | !< } ALL ( subquery ) Argumentos scalar_expression Es cualquier expresin vlida. { = | <> | != | > | >= | !> | < | <= | !< } Es un operador de comparacin. subquery Es una subconsulta que devuelve un conjunto de resultados de una columna. El tipo de datos de la columna devuelta debe ser el mismo que el de scalar_expression. Es una instruccin SELECT restringida en la que no se permiten la clusula ORDER BY ni la palabra clave INTO. Tipos de resultado Boolean Valor del resultado Devuelve TRUE cuando la comparacin especificada es TRUE para todos los pares (scalar_expression,x) donde x es un valor del conjunto de una sola columna; en caso contrario, devuelve FALSE. Comentarios ALL requiere que scalar_expression se compare de forma positiva con cada valor devuelto por la subconsulta. Por ejemplo, si la subconsulta devuelve los valores 2 y 3, scalar_expression <= ALL (subconsulta) evaluara como TRUE para una scalar_expression de 2. Si la subconsulta devuelve los valores 2 y 3, scalar_expression = ALL (subconsulta) se evaluara como FALSE, porque algunos de los valores de la subconsulta (el valor 3) no cumplira los criterios de la expresin. Para instrucciones que requieren que scalar_expression se compare de forma positiva a solo un valor devuelto por la subconsulta, vea SOME | ANY (Transact-SQL). Este tema hace referencia a ALL cuando se utiliza con una subconsulta. ALL tambin se puede utilizar con UNION y SELECT. Ejemplos En el ejemplo siguiente se crea un procedimiento almacenado que determina si todos los componentes de un SalesOrderID especificado en la base de datos AdventureWorks2012 se pueden fabricar en el nmero de das especificado. En el ejemplo se usa una subconsulta para crear una lista del nmero del valor de DaysToManufacture para todos los componentes del SalesOrderID especfico y, a continuacin, confirma que todos los DaysToManufacture estn dentro del nmero de das especificado. USE AdventureWorks2012 ; GO
CREATE PROCEDURE DaysToBuild @OrderID int, @NumberOfDays int AS IF @NumberOfDays >= ALL ( SELECT DaysToManufacture FROM Sales.SalesOrderDetail JOIN Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID WHERE SalesOrderID = @OrderID ) PRINT 'All items for this order can be manufactured in specified number of days or less.' ELSE PRINT 'Some items for this order cannot be manufactured in specified number of days or less.' ; Para probar el procedimiento, ejectelo con SalesOrderID 49080, que tiene un componente que requiere 2 das y dos componentes que requieren 0 das. La primera instruccin cumple los criterios. La segunda consulta no los cumple. EXECUTE DaysToBuild 49080, 2 ; El conjunto de resultados es el siguiente. All items for this order can be manufactured in specified number of days or less. EXECUTE DaysToBuild 49080, 1 ; El conjunto de resultados es el siguiente. Some items for this order cannot be manufactured in specified number of days or less.
AND (Transact-SQL) SQL Server 2014 Otras versiones
Combina dos expresiones booleanas y devuelve TRUE cuando ambas expresiones son TRUE (verdaderas). Cuando se utiliza ms de un operador lgico en una instruccin, en primer lugar se evalan los operadores AND. Puede cambiar el orden de evaluacin gracias a los parntesis. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis boolean_expression AND boolean_expression Argumentos boolean_expression Es cualquier expresin vlida que devuelve un valor booleano: TRUE, FALSE o UNKNOWN. Tipos de resultado Boolean Valor del resultado Devuelve TRUE cuando ambas expresiones son TRUE. Comentarios En la siguiente tabla se muestran los resultados de la comparacin de los valores TRUE y FALSE mediante el operador AND. TRUE FALSE UNKNOWN TRUE TRUE FALSE UNKNOWN FALSE FALSE FALSE FALSE UNKNOWN UNKNOWN FALSE UNKNOWN Ejemplos A.Utilizar el operador AND En el ejemplo siguiente se selecciona informacin sobre los empleados que tienen el cargo de Marketing Assistant y ms de 41 horas de vacaciones disponibles. USE AdventureWorks2012; GO SELECT BusinessEntityID, LoginID, JobTitle, VacationHours FROM HumanResources.Employee WHERE JobTitle = 'Marketing Assistant' AND VacationHours > 41 ; B.Utilizar el operador AND en una instruccin IF En los ejemplos siguientes se muestra cmo utilizar AND en una instruccin IF. En la primera instruccin, 1 = 1 y 2 = 2 son true; por consiguiente, el resultado es true. En el segundo ejemplo, el argumento 2 = 17 es false; por consiguiente, el resultado es false. IF 1 = 1 AND 2 = 2 BEGIN PRINT 'First Example is TRUE' END ELSE PRINT 'First Example is FALSE'; GO
IF 1 = 1 AND 2 = 17 BEGIN PRINT 'Second Example is TRUE' END ELSE PRINT 'Second Example is FALSE' ; GO
SOME | ANY (Transact-SQL) SQL Server 2014 Otras versiones
Este tema an no ha recibido ninguna valoracin - Valorar este tema Compara un valor escalar con un conjunto de valores de una sola columna. SOME y ANY son equivalentes. Se aplica a: SQL Server (SQL Server 2008 a versin actual), Windows Azure SQL Database (Versin inicial a versin actual). Convenciones de sintaxis de Transact-SQL Sintaxis scalar_expression { = | < > | ! = | > | > = | ! > | < | < = | ! < } { SOME | ANY } ( subquery ) Argumentos scalar_expression Es cualquier expresin vlida. { = | <> | != | > | >= | !> | < | <= | !< } Es cualquier operador de comparacin vlido. SOME | ANY Especifica que se debe realizar una comparacin. subquery Es una subconsulta con un conjunto de resultados de una columna. El tipo de datos de la columna devuelta debe ser el mismo que el de scalar_expression. Tipos de resultado Boolean Valor del resultado SOME o ANY devuelven TRUE cuando la comparacin especificada es TRUE para cualquier par (scalar_expression,x), donde x es un valor del conjunto de una sola columna; de lo contrario, devuelve FALSE. Comentarios SOME requiere que la scalar_expression se compare de forma positiva con al menos un valor devuelto por la subconsulta. Para instrucciones que requieren que scalar_expression se compare de forma positiva con cada valor devuelto por la subconsulta, vea ALL (Transact-SQL). Por ejemplo, si la subconsulta devuelve los valores 2 y 3, scalar_expression = SOME (subconsulta) evaluara como TRUE para scalar_express de 2. Si la subconsulta devuelve los valores 2 y 3, scalar_expression = ALL (subconsulta) se evaluara como FALSE, porque algunos de los valores de la subconsulta (el valor 3) no cumplira los criterios de la expresin. Ejemplos A.Ejecutar un ejemplo sencillo Las instrucciones siguientes crean una tabla simple y agregan los valores 1, 2, 3 y 4 a la columna de ID. CREATE TABLE T1 (ID int) ; GO INSERT T1 VALUES (1) ; INSERT T1 VALUES (2) ; INSERT T1 VALUES (3) ; INSERT T1 VALUES (4) ; La consulta siguiente devuelve TRUE porque 3 es menor que alguno de los valores de la tabla. IF 3 < SOME (SELECT ID FROM T1) PRINT 'TRUE' ELSE PRINT 'FALSE' ; La consulta siguiente devuelve FALSE porque 3 no es menor que todos los valores de la tabla. IF 3 < ALL (SELECT ID FROM T1) PRINT 'TRUE' ELSE PRINT 'FALSE' ; B.Ejecutar un ejemplo prctico En el ejemplo siguiente se crea un procedimiento almacenado que determina si todos los componentes de un SalesOrderID especificado en la base de datos AdventureWorks2012 se pueden fabricar en el nmero de das especificado. En el ejemplo se usa una subconsulta para crear una lista de valores de DaysToManufacture para todos los componentes del SalesOrderID especificado y, a continuacin, se comprueba si alguno de los valores devueltos por la subconsulta es mayor que el nmero de das especificado. Si cada valor de DaysToManufacture que se devuelve es menor que el nmero proporcionado, la condicin es TRUE y se imprime el primer mensaje. USE AdventureWorks2012 ; GO
CREATE PROCEDURE ManyDaysToComplete @OrderID int, @NumberOfDays int AS IF @NumberOfDays < SOME ( SELECT DaysToManufacture FROM Sales.SalesOrderDetail JOIN Production.Product ON Sales.SalesOrderDetail.ProductID = Production.Product.ProductID WHERE SalesOrderID = @OrderID ) PRINT 'At least one item for this order cannot be manufactured in specified number of days.' ELSE PRINT 'All items for this order can be manufactured in the specified number of days or less.' ; Para probar el procedimiento, ejectelo utilizando SalesOrderID49080, que tiene un componente que requiere 2 das y dos componentes que requieren 0 das. La primera instruccin cumple los criterios. La segunda consulta no los cumple. EXECUTE ManyDaysToComplete 49080, 2 ; El conjunto de resultados es el siguiente. All items for this order can be manufactured in the specified number of days or less. EXECUTE ManyDaysToComplete 49080, 1 ; El conjunto de resultados es el siguiente. At least one item for this order cannot be manufactured in specified number of days.
Operadores comparativos Los operadores comparativos que puedes utilizar en sentencias SQL son los mismos que se encuentran disponibles para el diseo de consultas en OpenOffice Base: Operador Se lee Resultado = Igual a Devuelve los registros que coinciden con la condicin. < Menor que Muestra aquellos registros cuyos valores son estrictamente menores que la condicin. > Mayor que Muestra aquellos registros cuyos valores son estrictamente mayores que la condicin. <= Menor o igual que Devuelve los registros cuyos valores son menores o iguales a la condicin. >= Mayor o igual que Devuelve los registros cuyos valores son mayores o iguales a la condicin. <> Distinto de Slo muestra aquellos registros que tienen valores distintos a la condicin.