Compartilhar via


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

Este tópico descreve como o mapa canônico de funções modelo conceitual ao SQL Server correspondente funciona.

Funções de Data e Hora

A tabela a seguir descreve 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, conforme) Para SQL Server 2000 e SQL Server 2005, um valor formatado datetime é criado no servidor. Para SQL Server 2008 e versões posteriores, um valor de datetime2 é criado no servidor.
CreateDateTimeOffset (ano, mês, dia, hora, minuto, conforme, tzoffset) Um valor formatado datetimeoffset é criado no servidor.

Não suportado no SQL Server 2000 ou no SQL Server 2005.
CreateTime (hora, minuto, segunda) Um valor formatado time é criado no servidor.

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

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

Não suportado no SQL Server 2000 ou no 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) DATEDIFF(year, startdate, enddate)
GetTotalOffsetMinutes (DateTimeOffset) DatePart(tzoffset, expression)
Hora (expressão) DatePart(hour, expression)
Milissegundos (expressão) DatePart(millisecond, expression)
Minuto (expressão) DatePart(minute, expression)
Mês (expressão) DatePart(month, expression)
Segundo (expressão) DatePart(second, expression)
Truncar (expressão) Para SQL Server 2000 e SQL Server 2005, um valor formatado truncado datetime é criado no servidor. Para SQL Server 2008 e versões posteriores, um valor truncado datetime2 ou datetimeoffset é criado no servidor.
Ano (expressão) DatePart(YEAR, expression)

Funções de Agregação

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

Funções canônicas Funções do SQL Server
Avg (expressão) AVG(expression)
BigCount (expressão) BIGCOUNT(expression)
Count(expressão) COUNT(expression)
Min(expressão) MIN(expression)
Max(expressão) MAX(expression)
StDev (expressão) STDEV(expression)
StDevP (expressão) STDEVP(expression)
Sum(expressão) SUM(expression)
Var (expressão) VAR(expression)
VarP (expressão) VARP(expression)

Funções matemáticas

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

Funções canônicas Funções do SQL Server
Abs (valor) ABS(value)
Teto (valor) CEILING(value)
Andar (valor) FLOOR(value)
Avançados (valor) POWER(value, exponent)
Redondo (valor) ROUND(value, digits, 0)
Truncate ROUND(value , digits, 1)

Funções de Cadeia de Caracteres

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

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

Observação A função CHARINDEX retorna false se string é armazenado em uma coluna fixa de cadeia de caracteres de comprimento e target é uma constante. Nesse caso, a cadeia de caracteres inteira é pesquisada, incluindo todos os espaço à direita de preenchimento. Uma solução alternativa é possível quebrar dados a cadeia de caracteres fixa de comprimento antes de passar a cadeia de caracteres a função de EndsWith , 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 (cadeia de caracteres) LTRIM(string)
Direito (string1, comprimento) RIGHT (string1, length)
Preparo (cadeia de caracteres) LTRIM(RTRIM(string))
Substitua (string1, string2, string3) REPLACE(string1, string2, string3)
Inverter (cadeia de caracteres) REVERSE (string)
RTrim (cadeia de caracteres) RTRIM(string)
StartsWith (cadeia de caracteres, destino) CHARINDEX(target, string)
Subsequência de caracteres (cadeia de caracteres, iniciar, comprimento) SUBSTRING(string, start, length)
ToLower (cadeia de caracteres) LOWER(string)
ToUpper (cadeia de caracteres) UPPER(string)

Funções bit a bit

A tabela a seguir descreve mapear bit a bit das funções:

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