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) | 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 ou datetimeoffset truncado datetime2 é criado no servidor. |
Ano(expressão) | DatePart(YEAR, expression) |
Funções de Agregação
A tabela a seguir descreve o mapeamento de funções agregadas:
Funções canônicas | Funções do SQL Server |
---|---|
Média(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) |
Redondo (valor) | ROUND(value, digits, 0) |
Truncar | ROUND(value , digits, 1) |
Funções de Cadeia
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 CHARINDEX função retornará false se o estiver armazenado em uma coluna de cadeia de caracteres de comprimento fixo string 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 (string) | LEN(string) |
LTrim(string) | LTRIM(string) |
Direita (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 |