Partilhar via


Modelo conceitual canônico para mapeamento de funções do SQL Server

Este tópico descreve como as funções canônicas do modelo conceitual são mapeadas para as funções correspondentes do SQL Server.

Funções de Data e Hora

A tabela a seguir descreve o mapeamento de funções de data e hora:

Funções canônicas Funções do SQL Server
AddDays(expressão) DATEADD(day, number, date)
AddHours(expressão) DATEADD(hour, number, date)
AddMicroseconds(expressão) DATEADD(microsecond, number, date)
AddMilliseconds(expressão) DATEADD(millisecond, number, date)
AddMinutes(expressão) DATEADD(minute, number, date)
AddMonths(expressão) DATEADD(month, number, date)
AddNanoseconds(expressão) DATEADD(nanosecond, number, date)
AddSeconds(expressão) DATEADD(second, number, date)
AddYears(expressão) DATEADD(year, number, date)
CreateDateTime(ano, mês, dia, hora, minuto, segundo) Para SQL Server 2000 e SQL Server 2005, um datetime valor formatado é criado no servidor. Para o SQL Server 2008 e versões posteriores, um datetime2 valor é criado no servidor.
CreateDateTimeOffset(ano, mês, dia, hora, minuto, segundo, tzoffset) Um datetimeoffset valor formatado é criado no servidor.

Não há suporte no SQL Server 2000 ou SQL Server 2005.
CreateTime(hora, minuto, segundo) Um time valor formatado é criado no servidor.

Não há suporte no SQL Server 2000 ou SQL Server 2005.
CurrentDateTime() SysDateTime() em SQLServer 2008.

GetDate() em SQLServer 2000 e SQLServer 2005.
CurrentDateTimeOffset() SysDateTimeOffset() no SQL Server 2008.

Não há suporte no SQL Server 2000 ou SQL Server 2005.
CurrentUtcDateTime() SysUtcDateTime() em SQLServer 2008. GetUtcDate() no SQL Server 2000 e no SQL Server 2005.
DayOfYear(expressão) DatePart(dayofyear, expression)
Dia(expressão) DatePart(day, expression)
DiffDays(startExpression, endExpression) DATEDIFF(day, startdate, enddate)
DiffHours(startExpression, endExpression) DATEDIFF(hour, startdate, enddate)
DiffMicroseconds(startExpression, endExpression) DATEDIFF(microsecond, startdate, enddate)
DiffMilliseconds(startExpression, endExpression) DATEDIFF(millisecond, startdate, enddate)
DiffMinutes(startExpression, endExpression) DATEDIFF(minute, startdate, enddate)
DiffNanoseconds(startExpression, endExpression) DATEDIFF(nanosecond, startdate, enddate)
DiffSeconds(startExpression, endExpression) DATEDIFF(second, startdate, enddate)
DiffYears(startExpression, endExpression) - Calcula a diferença em anos entre startExpression e endExpression. DATEDIFF(year, startdate, enddate)
GetTotalOffsetMinutes(DateTimeOffset) DatePart(tzoffset, expression)
Hora(expressão) DatePart(hour, expression)
Milissegundo(expressão) DatePart(millisecond, expression)
Minuto(expressão) DatePart(minute, expression)
Mês (expressão) DatePart(month, expression)
Segundo(expressão) DatePart(second, expression)
Truncate(expressão) Para SQL Server 2000 e SQL Server 2005, um valor formatado truncado datetime é criado no servidor. Para o SQL Server 2008 e versões posteriores, um valor truncado datetime2 ou datetimeoffset é criado no servidor.
Ano(expressão) DatePart(YEAR, expression)

Funções agregadas

A tabela a seguir descreve o mapeamento de funções agregadas:

Funções canônicas Funções do SQL Server
Média de(expressão) AVG(expression)
BigCount(expressão) BIGCOUNT(expression)
Contagem(expressão) COUNT(expression)
Mín(expressão) MIN(expression)
Max(expressão) MAX(expression)
StDev(expressão) STDEV(expression)
StDevP(expressão) STDEVP(expression)
Soma(expressão) SUM(expression)
Var(expressão) VAR(expression)
VarP(expressão) VARP(expression)

Funções Matemáticas

A tabela a seguir descreve o mapeamento de funções matemáticas:

Funções canônicas Funções do SQL Server
Abs(valor) ABS(value)
Limite máximo (valor) CEILING(value)
Andar (valor) FLOOR(value)
Potência (valor) POWER(value, exponent)
Arredondar(valor) ROUND(value, digits, 0)
Truncar ROUND(value , digits, 1)

Funções de cadeia de caracteres

A tabela a seguir descreve o mapeamento de funções de cadeia de caracteres:

Funções canônicas Funções do SQL Server
Contém(string, target) CHARINDEX(target, string)
Concat(string1, string2) string1 + string2
EndsWith(string, destino) CHARINDEX(REVERSE(target), REVERSE(string)) = 1

Observação A função CHARINDEX retorna false se string for armazenado em uma coluna de cadeia de caracteres de comprimento fixo e target for uma constante. Nesse caso, toda a cadeia de caracteres é pesquisada, incluindo quaisquer espaços à direita de preenchimento. Uma solução possível é cortar os dados na cadeia de caracteres de comprimento fixo antes de passar a cadeia de caracteres para a EndsWith função, como no exemplo a seguir: EndsWith(TRIM(string), target)
IndexOf(destino, string2) CHARINDEX(target, string2)
Esquerda (string1, comprimento) LEFT(string1, length)
Comprimento (cadeia de caracteres) LEN(string)
LTrim(string) LTRIM(string)
Right (string1, comprimento) RIGHT (string1, length)
Trim(string) LTRIM(RTRIM(string))
Substituir (string1, string2, string3) REPLACE(string1, string2, string3)
Reverso (string) REVERSE (string)
RTrim(string) RTRIM(string)
StartsWith(string, destino) CHARINDEX(target, string)
Substring(string, start, length) SUBSTRING(string, start, length)
ToLower(string) LOWER(string)
ToUpper(string) UPPER(string)

Funções Bitwise

A tabela a seguir descreve o mapeamento de funções bitwise:

Funções canônicas Funções do SQL Server
BitWiseAnd (valor1, valor2) valor1 & valor2
BitWiseNot (valor) ~valor
BitWiseOr (valor1, valor2) valor1 | valor2
BitWiseXor (valor1, valor2) valor1 ^ valor2