Asignación entre las funciones canónicas del modelo conceptual y las funciones de SQL Server
En este tema se describe cómo se asignan las funciones canónicas del modelo conceptual a las funciones de SQL Server correspondientes.
Funciones de fecha y hora
En la tabla siguiente se describe la asignación de funciones de fecha y hora:
Funciones canónicas | Funciones de SQL Server |
---|---|
AddDays(expresión) | DATEADD(day, number, date) |
AddHours(expresión) | DATEADD(hour, number, date) |
AddMicroseconds(expresión) | DATEADD(microsecond, number, date) |
AddMilliseconds(expresión) | DATEADD(millisecond, number, date) |
AddMinutes(expresión) | DATEADD(minute, number, date) |
AddMonths(expresión) | DATEADD(month, number, date) |
AddNanoseconds(expresión) | DATEADD(nanosecond, number, date) |
AddSeconds(expresión) | DATEADD(second, number, date) |
AddYears(expresión) | DATEADD(year, number, date) |
CreateDateTime(año, mes, día, hora, minuto, segundo) | En SQL Server 2000 y SQL Server 2005, se crea un valor con formato datetime en el servidor. En SQL Server 2008 y versiones posteriores, se crea un valor datetime2 en el servidor. |
CreateDateTimeOffset(año, mes, día, hora, minuto, segundo, tzoffset) | Se crea un valor con formato datetimeoffset en el servidor.No se admite en SQL Server 2000 ni en SQL Server 2005. |
CreateTime(hora, minuto, segundo) | Se crea un valor con formato time en el servidor.No se admite en SQL Server 2000 ni en SQL Server 2005. |
CurrentDateTime() | SysDateTime() en SQL Server 2008.GetDate() en SQL Server 2000 y SQL Server 2005. |
CurrentDateTimeOffset() | SysDateTimeOffset() en SQL Server 2008.No se admite en SQL Server 2000 ni en SQL Server 2005. |
CurrentUtcDateTime() | SysUtcDateTime() en SQL Server 2008. GetUtcDate() en SQL Server 2000 y SQL Server 2005. |
DayOfYear(expresión) | DatePart(dayofyear, expression) |
Day(expresión) | DatePart(day, expression) |
DiffDays(expresión_inicial, expresión_final) | DATEDIFF(day, startdate, enddate) |
DiffHours(expresión_inicial, expresión_final) | DATEDIFF(hour, startdate, enddate) |
DiffMicroseconds(expresión_inicial, expresión_final) | DATEDIFF(microsecond, startdate, enddate) |
DiffMilliseconds(expresión_inicial, expresión_final) | DATEDIFF(millisecond, startdate, enddate) |
DiffMinutes(expresión_inicial, expresión_final) | DATEDIFF(minute, startdate, enddate) |
DiffNanoseconds(expresión_inicial, expresión_final) | DATEDIFF(nanosecond, startdate, enddate) |
DiffSeconds(expresión_inicial, expresión_final) | DATEDIFF(second, startdate, enddate) |
DiffYears(expresión_inicial, expresión_final) | DATEDIFF(year, startdate, enddate) |
GetTotalOffsetMinutes(DateTimeOffset) | DatePart(tzoffset, expression) |
Hora(expresión) | DatePart(hour, expression) |
Millisecond(expresión) | DatePart(millisecond, expression) |
Minute(expresión) | DatePart(minute, expression) |
Month(expresión) | DatePart(month, expression) |
Second(expresión) | DatePart(second, expression) |
Truncate(expresión) | En SQL Server 2000 y SQL Server 2005, se crea un valor con formato datetime truncado en el servidor. En SQL Server 2008 y versiones posteriores, se crea un valor datetime2 o datetimeoffset truncado en el servidor. |
Year(expresión) | DatePart(YEAR, expression) |
Funciones de agregado
En la tabla siguiente se describe la asignación de funciones de agregado:
Funciones canónicas | Funciones de SQL Server |
---|---|
Avg(expresión) | AVG(expression) |
BigCount(expresión) | BIGCOUNT(expression) |
Count(expresión) | COUNT(expression) |
Mín(expresión) | MIN(expression) |
Máx(expresión) | MAX(expression) |
StDev(expresión) | STDEV(expression) |
StDevP(expresión) | STDEVP(expression) |
Sum(expresión) | SUM(expression) |
Var(expresión) | VAR(expression) |
VarP(expresión) | VARP(expression) |
Funciones matemáticas
En la tabla siguiente se describe la asignación de las funciones matemáticas:
Funciones canónicas | Funciones de SQL Server |
---|---|
Abs(valor) | ABS(value) |
Ceiling(valor) | CEILING(value) |
Floor(valor) | FLOOR(value) |
Power(valor) | POWER(value, exponent) |
Round(valor) | ROUND(value, digits, 0) |
Truncate | ROUND(value , digits, 1) |
Funciones de cadena
En la tabla siguiente se describe la asignación de las funciones de cadena:
Funciones canónicas | Funciones de SQL Server |
---|---|
Contains(cadena, destino) | CHARINDEX(target, string) |
Concat(cadena1, cadena2) | cadena1 + cadena2 |
EndsWith(cadena, destino) | CHARINDEX(REVERSE(target), REVERSE(string)) = 1 Note La función CHARINDEX devuelve false si el parámetro string está almacenado en una columna de cadena de longitud fija y target es una constante. En este caso, se buscará en toda la cadena, incluyendo los espacios finales de relleno que pueda haber. Una posible solución alternativa es recortar los datos de la cadena de longitud fija antes de pasar esta a la función EndsWith , como en el ejemplo siguiente: EndsWith(TRIM(string), target) |
IndexOf(destino, cadena2) | CHARINDEX(target, string2) |
Left (cadena1, longitud) | LEFT(string1, length) |
Length (cadena) | LEN(string) |
LTrim(cadena) | LTRIM(string) |
Right (cadena1, longitud) | RIGHT (string1, length) |
Trim(cadena) | LTRIM(RTRIM(string)) |
Replace (cadena1, cadena2, cadena3) | REPLACE(string1, string2, string3) |
Reverse (cadena) | REVERSE (string) |
RTrim(cadena) | RTRIM(string) |
StartsWith(cadena, destino) | CHARINDEX(target, string) |
Substring(cadena, inicio, longitud) | SUBSTRING(string, start, length) |
ToLower(cadena) | LOWER(string) |
ToUpper(cadena) | UPPER(string) |
Funciones bit a bit
En la tabla siguiente se describe la asignación de las funciones bit a bit:
Funciones canónicas | Funciones de SQL Server |
---|---|
BitWiseAnd (valor1, valor2) | valor1 y valor2 |
BitWiseNot (valor) | ~valor |
BitWiseOr (valor1, valor2) | valor1 | valor2 |
BitWiseXor (valor1, valor2) | valor1 ^ valor2 |