Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoyEste explorador ya no se admite.
Actualice a Microsoft Edge para aprovechar las características y actualizaciones de seguridad más recientes, y disponer de soporte técnico.
Se aplica a: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
Punto de conexión de análisis SQL en Microsoft Fabric
Warehouse en Microsoft Fabric
Base de datos SQL de Microsoft Fabric
Combinación de símbolos y operadores que sql Server Motor de base de datos evalúa para obtener un único valor de datos. Las expresiones simples pueden ser una sola constante, variable, columna o función escalar. Los operadores se pueden usar para combinar dos o más expresiones simples y formar una expresión compleja.
Convenciones de sintaxis de Transact-SQL
Sintaxis para SQL Server y Azure SQL Database.
{ constant | scalar_function | [ table_name. ] column | variable
| ( expression ) | ( scalar_subquery )
| { unary_operator } expression
| expression { binary_operator } expression
| ranking_windowed_function | aggregate_windowed_function
}
Sintaxis para Azure Synapse Analytics y Almacenamiento de datos paralelos.
-- Expression in a SELECT statement
<expression> ::=
{
constant
| scalar_function
| column
| variable
| ( expression )
| { unary_operator } expression
| expression { binary_operator } expression
}
[ COLLATE Windows_collation_name ]
-- Scalar Expression in a DECLARE , SET , IF...ELSE , or WHILE statement
<scalar_expression> ::=
{
constant
| scalar_function
| variable
| ( expression )
| (scalar_subquery )
| { unary_operator } expression
| expression { binary_operator } expression
}
[ COLLATE [ Windows_collation_name ] ]
Símbolo que representa un único valor de datos específico. Para obtener más información, vea Constants (Constantes).
Unidad de sintaxis de Transact-SQL que proporciona un servicio específico y devuelve un valor único. scalar_function pueden ser funciones escalares integradas, como las funciones , GETDATE()
o CAST
o las funciones escalares definidas por el SUM
usuario.
Nombre o alias de una tabla.
El nombre de una columna. En una expresión solo se admite el nombre de la columna.
Nombre de una variable o parámetro. Para obtener más información, vea DECLARE @local_variable.
Cualquier expresión válida tal como se define en este artículo. Los paréntesis son operadores de agrupación que garantizan que todos los operadores de la expresión escritos entre paréntesis se evalúen antes de que la expresión resultante se combine con otra.
Subconsulta que devuelve un valor. Por ejemplo:
SELECT MAX(UnitPrice)
FROM Products;
Los operadores unarios solo se pueden aplicar a las expresiones que se evalúen como un tipo de datos numérico. Es un operador que solo tiene un operando numérico:
+
indica un número positivo-
indica un número negativo~
indica el operador de complemento del unoOperador que define la forma en que se combinan dos expresiones para producir un único resultado. binary_operator puede ser un operador aritmético, el operador de asignación (=
), un operador bit a bit, un operador de comparación, un operador lógico, el operador de concatenación de cadenas (+
) o un operador unario. Para obtener más información sobre los operadores, vea Operadores.
Cualquier función de clasificación de Transact-SQL. Para obtener más información, vea Funciones de clasificación.
Cualquier función de agregado de Transact-SQL con la cláusula OVER. Para obtener más información, vea CLÁUSULA SELECT - OVER.
Para una expresión sencilla creada con una constante, variable, función escalar o nombre de columna, el tipo de datos, intercalación, precisión, escala y valor de la expresión es el tipo de datos, intercalación, precisión, escala y valor del elemento de referencia.
Cuando se combinan dos expresiones mediante operadores lógicos o de comparación, el tipo de datos resultante es Boolean y el valor es: TRUE
, FALSE
o UNKNOWN
. Para obtener más información sobre los tipos de datos booleanos, vea Operadores de comparación.
Cuando dos expresiones se combinan mediante operadores aritméticos, bit a bit o de cadena, el operador determina el tipo de datos resultante.
Las expresiones complejas formadas por varios símbolos y operadores se evalúan como un resultado formado por un solo valor. El tipo de datos, intercalación, precisión y valor de la expresión resultante se determina al combinar las expresiones componentes de dos en dos, hasta que se alcanza un resultado final. La prioridad de los operadores de la expresión define la secuencia en que se combinan las expresiones.
Un operador puede combinar dos expresiones si ambos tienen tipos de datos admitidos por el operador y se cumple al menos una de estas condiciones:
Las expresiones tienen el mismo tipo de datos.
El tipo de datos de menor prioridad se puede convertir implícitamente al tipo de datos de mayor prioridad.
Si las expresiones no cumplen estas condiciones, se pueden usar las CAST
funciones o CONVERT
. Use CAST
o CONVERT
para convertir explícitamente el tipo de datos con la prioridad inferior al tipo de datos con mayor prioridad o a un tipo de datos intermedio que se pueda convertir implícitamente al tipo de datos con mayor prioridad.
Si no hay ninguna conversión implícita o explícita admitida, las dos expresiones no se pueden combinar.
La intercalación de cualquier expresión que se evalúa como una cadena de caracteres se establece según las reglas de prioridad de intercalación. Para obtener más información, vea Prioridad de intercalación.
En un lenguaje de programación como C o Microsoft Visual Basic, una expresión siempre se evalúa como un resultado único. Las expresiones de una lista de selección de Transact-SQL constituyen una variación de esta regla: la expresión se evalúa individualmente para cada fila del conjunto de resultados. Una expresión única puede tener un valor diferente en cada fila del conjunto de resultados, pero cada fila solo tiene un valor para la expresión. Por ejemplo, en esta instrucción SELECT
, tanto la referencia a ProductID
como el término 1+2
de la lista seleccionada son expresiones:
USE AdventureWorks2022;
GO
SELECT ProductID, 1 + 2
FROM Production.Product;
GO
La expresión 1+2
se evalúa como 3
en cada fila del conjunto de resultados. Aunque la expresión ProductID
genera un valor único en cada fila del conjunto de resultados, cada fila tiene solo un valor para ProductID
.
DELETE
FROM dbo.MyTable
WHERE (c1 = '0000001' AND c2 = 'A000001')
OR (c1 = '0000002' AND c2 = 'A000002')
OR (c1 = '0000003' AND c2 = 'A000003')
/* ... additional, similar expressions omitted for simplicity */
Cambie esta consulta por:
DELETE FROM dbo.MyTable WHERE (c1 = '0000001' AND c2 = 'A000001');
DELETE FROM dbo.MyTable WHERE (c1 = '0000002' AND c2 = 'A000002');
DELETE FROM dbo.MyTable WHERE (c1 = '0000003' AND c2 = 'A000003');
/* ... refactored, individual DELETE statements omitted for simplicity */
Eventos
31 mar, 23 - 2 abr, 23
Evento de aprendizaje de SQL, Fabric y Power BI más grande. 31 de marzo – 2 de abril. Use el código FABINSIDER para ahorrar $400.
Regístrate hoy