Dela via


Konceptuell modell Kanonisk till SQL Server Functions-mappning

Det här avsnittet beskriver hur konceptuella modellkaniska funktioner mappas till motsvarande SQL Server-funktioner.

Datum- och tidsfunktioner

I följande tabell beskrivs datum- och tidsfunktionernas mappning:

Kanoniska funktioner SQL Server-funktioner
AddDays(uttryck) DATEADD(day, number, date)
AddHours(uttryck) DATEADD(hour, number, date)
AddMicroseconds(expression) DATEADD(microsecond, number, date)
AddMilliseconds(expression) DATEADD(millisecond, number, date)
AddMinutes(uttryck) DATEADD(minute, number, date)
AddMonths(expression) DATEADD(month, number, date)
AddNanoseconds(expression) DATEADD(nanosecond, number, date)
AddSeconds(expression) DATEADD(second, number, date)
AddYears(uttryck) DATEADD(year, number, date)
CreateDateTime(år, månad, dag, timme, minut, sekund) För SQL Server 2000 och SQL Server 2005 skapas ett datetime formaterat värde på servern. För SQL Server 2008 och senare versioner skapas ett datetime2 värde på servern.
CreateDateTimeOffset(år, månad, dag, timme, minut, sekund, tzoffset) Ett datetimeoffset formaterat värde skapas på servern.

Stöds inte i SQL Server 2000 eller SQL Server 2005.
CreateTime(timme, minut, sekund) Ett time formaterat värde skapas på servern.

Stöds inte i SQL Server 2000 eller SQL Server 2005.
CurrentDateTime() SysDateTime() i SQLServer 2008.

GetDate() i SQLServer 2000 och SQLServer 2005.
CurrentDateTimeOffset() SysDateTimeOffset() i SQL Server 2008.

Stöds inte i SQL Server 2000 eller SQL Server 2005.
CurrentUtcDateTime() SysUtcDateTime() i SQLServer 2008. GetUtcDate() i SQL Server 2000 och SQL Server 2005.
DayOfYear(uttryck) 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)
Millisekunder(uttryck) DatePart(millisecond, expression)
Minute(expression) DatePart(minute, expression)
Month(expression) DatePart(month, expression)
Second(expression) DatePart(second, expression)
Trunkera(uttryck) För SQL Server 2000 och SQL Server 2005 skapas ett trunkerat datetime formaterat värde på servern. För SQL Server 2008 och senare versioner skapas ett trunkerat datetime2 eller datetimeoffset värde på servern.
Year(expression) DatePart(YEAR, expression)

Mängdfunktioner

I följande tabell beskrivs aggregeringsfunktionernas mappning:

Kanoniska funktioner SQL Server-funktioner
Genomsnittlig(uttryck) AVG(expression)
BigCount(uttryck) BIGCOUNT(expression)
Count(expression) COUNT(expression)
Min(expression) MIN(expression)
Max(expression) MAX(expression)
StDev(uttryck) STDEV(expression)
StDevP(uttryck) STDEVP(expression)
Sum(expression) SUM(expression)
Var(expression) VAR(expression)
VarP(uttryck) VARP(expression)

Matematikfunktioner

I följande tabell beskrivs mappningen av matematiska funktioner:

Kanoniska funktioner SQL Server-funktioner
Abs(värde) ABS(value)
Tak(värde) CEILING(value)
Floor(value) FLOOR(value)
Power(value) POWER(value, exponent)
Round(value) ROUND(value, digits, 0)
Trunkera ROUND(value , digits, 1)

Strängfunktioner

I följande tabell beskrivs strängfunktionernas mappning:

Kanoniska funktioner SQL Server-funktioner
Contains(string, target) CHARINDEX(target, string)
Concat(string1, string2) string1 + string2
EndsWith(sträng, mål) CHARINDEX(REVERSE(target), REVERSE(string)) = 1

Obs! Funktionen CHARINDEX returnerar false om string den lagras i en strängkolumn med fast längd och target är en konstant. I det här fallet genomsöks hela strängen, inklusive eventuella avslutande blanksteg för utfyllnad. En möjlig lösning är att trimma data i strängen med fast längd innan strängen skickas EndsWith till funktionen, som i följande exempel: EndsWith(TRIM(string), target)
IndexOf(target, string2) CHARINDEX(target, string2)
Vänster (sträng1, längd) LEFT(string1, length)
Längd (sträng) LEN(string)
LTrim(sträng) LTRIM(string)
Höger (sträng1, längd) RIGHT (string1, length)
Trim(sträng) LTRIM(RTRIM(string))
Ersätt (string1, string2, string3) REPLACE(string1, string2, string3)
Omvänd (sträng) REVERSE (string)
RTrim(sträng) RTRIM(string)
StartsWith(string, target) CHARINDEX(target, string)
Delsträng(sträng, start, längd) SUBSTRING(string, start, length)
ToLower(sträng) LOWER(string)
ToUpper(sträng) UPPER(string)

Bitvis funktioner

I följande tabell beskrivs bitvis funktionsmappning:

Kanoniska funktioner SQL Server-funktioner
BitWiseAnd (värde1, värde2) value1 & value2
BitWiseNot (värde) ~Värde
BitWiseOr (värde1, värde2) value1 | value2
BitWiseXor (värde1, värde2) value1 ^ value2