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