Konceptuální model v kanonickém formátu pro mapování funkcí SQL Serveru
Toto téma popisuje, jak se koncepční kanonické funkce modelu mapují na odpovídající funkce SQL Serveru.
Funkce data a času
Následující tabulka popisuje mapování funkcí data a času:
Kanonické funkce | Funkce SQL Serveru |
---|---|
AddDays(výraz) | DATEADD(day, number, date) |
AddHours(expression) | DATEADD(hour, number, date) |
AddMicroseconds(expression) | DATEADD(microsecond, number, date) |
AddMilliseconds(expression) | DATEADD(millisecond, number, date) |
AddMinutes(expression) | DATEADD(minute, number, date) |
AddMonths(expression) | DATEADD(month, number, date) |
AddNanoseconds(expression) | DATEADD(nanosecond, number, date) |
AddSeconds(expression) | DATEADD(second, number, date) |
AddYears(expression) | DATEADD(year, number, date) |
CreateDateTime(rok, měsíc, den, hodina, minuta, sekunda) | Pro SYSTÉM SQL Server 2000 a SQL Server 2005 datetime se na serveru vytvoří formátovaná hodnota. Pro SQL Server 2008 a novější verze datetime2 se na serveru vytvoří hodnota. |
CreateDateTimeOffset(year, month, day, hour, minute, second, tzoffset) | Na datetimeoffset serveru se vytvoří formátovaná hodnota.Sql Server 2000 nebo SQL Server 2005 se nepodporuje. |
CreateTime(hodina, minuta, sekunda) | Na time serveru se vytvoří formátovaná hodnota.Sql Server 2000 nebo SQL Server 2005 se nepodporuje. |
CurrentDateTime() | SysDateTime() v SQLServeru 2008.GetDate() sqlServer 2000 a SQLServer 2005. |
CurrentDateTimeOffset() | SysDateTimeOffset() v SYSTÉMU SQL Server 2008.Sql Server 2000 nebo SQL Server 2005 se nepodporuje. |
CurrentUtcDateTime() | SysUtcDateTime() v SQLServeru 2008. GetUtcDate() v systému SQL Server 2000 a SQL Server 2005. |
DayOfYear(expression) | DatePart(dayofyear, expression) |
Day(expression) | 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) |
Hour(expression) | DatePart(hour, expression) |
Milisekund(výraz) | DatePart(millisecond, expression) |
Minute(expression) | DatePart(minute, expression) |
Month(expression) | DatePart(month, expression) |
Second(výraz) | DatePart(second, expression) |
Truncate(expression) | Pro SQL Server 2000 a SQL Server 2005 se na serveru vytvoří zkrácená formátovaná datetime hodnota. Pro SQL Server 2008 a novější verze se na serveru vytvoří zkrácená hodnota nebo datetimeoffset zkrácená datetime2 hodnota. |
Year(expression) | DatePart(YEAR, expression) |
Agregační funkce
Následující tabulka popisuje mapování agregačních funkcí:
Kanonické funkce | Funkce SQL Serveru |
---|---|
Avg(expression) | AVG(expression) |
BigCount(výraz) | BIGCOUNT(expression) |
Count(expression) | COUNT(expression) |
Min(výraz) | MIN(expression) |
Max(výraz) | MAX(expression) |
StDev(expression) | STDEV(expression) |
StDevP(expression) | STDEVP(expression) |
Sum(expression) | SUM(expression) |
Var(výraz) | VAR(expression) |
VarP(výraz) | VARP(expression) |
Matematické funkce
Následující tabulka popisuje mapování matematických funkcí:
Kanonické funkce | Funkce SQL Serveru |
---|---|
Abs(hodnota) | ABS(value) |
Ceiling(hodnota) | CEILING(value) |
Floor(value) | FLOOR(value) |
Power(value) | POWER(value, exponent) |
Round(value) | ROUND(value, digits, 0) |
Zkrátit | ROUND(value , digits, 1) |
Funkce pro práci s řetězci
Následující tabulka popisuje mapování řetězcových funkcí:
Kanonické funkce | Funkce SQL Serveru |
---|---|
Contains(řetězec, cíl) | CHARINDEX(target, string) |
Concat(řetězec1, řetězec2) | string1 + string2 |
EndsWith(řetězec, cíl) | CHARINDEX(REVERSE(target), REVERSE(string)) = 1 Poznámka: Funkce CHARINDEX vrátí false , pokud string je uložena ve sloupci řetězce s pevnou délkou a target je konstanta. V tomto případě se prohledá celý řetězec, včetně všech odsazení koncových mezer. Možným alternativním řešením je oříznout data v řetězci s pevnou délkou před předáním řetězce funkci, jak je znázorněno v následujícím příkladu EndsWith : EndsWith(TRIM(string), target) |
IndexOf(target; string2) | CHARINDEX(target, string2) |
Vlevo (řetězec1, délka) | LEFT(string1, length) |
Délka (řetězec) | LEN(string) |
LTrim(řetězec) | LTRIM(string) |
Vpravo (řetězec1, délka) | RIGHT (string1, length) |
Trim(řetězec) | LTRIM(RTRIM(string)) |
Nahradit (řetězec1, řetězec2, řetězec3) | REPLACE(string1, string2, string3) |
Obrácení (řetězec) | REVERSE (string) |
RTrim(řetězec) | RTRIM(string) |
StartsWith(řetězec, cíl) | CHARINDEX(target, string) |
Podřetězce (řetězec, začátek, délka) | SUBSTRING(string, start, length) |
ToLower(řetězec) | LOWER(string) |
ToUpper(řetězec) | UPPER(string) |
Bitové funkce
Následující tabulka popisuje mapování bitových funkcí:
Kanonické funkce | Funkce SQL Serveru |
---|---|
BitWiseAnd (hodnota1, hodnota2) | hodnota1 a hodnota2 |
BitWiseNot (hodnota) | ~Hodnotu |
BitWiseOr (hodnota1, hodnota2) | hodnota1 | hodnota2 |
BitWiseXor (hodnota1, hodnota2) | hodnota1 ^ hodnota2 |