Delen via


Conceptueel model voor de mapping van Canonical naar SQL Server-functies

In dit onderwerp wordt uitgelegd hoe canonieke functies van het conceptuele model overeenkomen met de bijbehorende functies in SQL Server.

Datum- en tijdfuncties

In de volgende tabel beschrijft de mapping van datum- en tijdfuncties:

Canonieke functies SQL Server-functies
AddDays(expressie) DATEADD(day, number, date)
AddHours(expressie) DATEADD(hour, number, date)
AddMicroseconds(expression) DATEADD(microsecond, number, date)
AddMilliseconds(expression) DATEADD(millisecond, number, date)
AddMinutes(expressie) DATEADD(minute, number, date)
AddMonths(expressie) DATEADD(month, number, date)
AddNanoseconds(expression) DATEADD(nanosecond, number, date)
AddSeconds(expression) DATEADD(second, number, date)
AddYears(expression) DATEADD(year, number, date)
CreateDateTime(year, month, day, hour, minute, second) Voor SQL Server 2000 en SQL Server 2005 wordt een datetime opgemaakte waarde gemaakt op de server. Voor SQL Server 2008 en latere versies wordt een datetime2 waarde gemaakt op de server.
CreateDateTimeOffset(year, month, day, hour, minute, second, tzoffset) Op de server wordt een datetimeoffset geformatteerde waarde aangemaakt.

Niet ondersteund in SQL Server 2000 of SQL Server 2005.
CreateTime(hour, minute, second) Op de server wordt een time geformatteerde waarde aangemaakt.

Niet ondersteund in SQL Server 2000 of SQL Server 2005.
CurrentDateTime() SysDateTime() in SQLServer 2008.

GetDate() in SQL Server 2000 en SQL Server 2005.
CurrentDateTimeOffset() SysDateTimeOffset() in SQL Server 2008.

Niet ondersteund in SQL Server 2000 of SQL Server 2005.
CurrentUtcDateTime() SysUtcDateTime() in SQLServer 2008. GetUtcDate() in SQL Server 2000 en SQL Server 2005.
DayOfYear(uitdrukking) 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)
DiffMilliseconden(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)
Milliseconden(expressie) DatePart(millisecond, expression)
Minute(expressie) DatePart(minute, expression)
Month(expressie) DatePart(month, expression)
Second(expressie) DatePart(second, expression)
Truncate(expression) Voor SQL Server 2000 en SQL Server 2005 wordt een afgebroken datetime-waarde gemaakt op de server. Voor SQL Server 2008 en latere versies wordt een ingekorte waarde datetime2 of datetimeoffset gemaakt op de server.
Year(expressie) DatePart(YEAR, expression)

Statistische functies

In de volgende tabel wordt de mapping van aggregatiefuncties beschreven.

Canonieke functies SQL Server-functies
Avg(expressie) AVG(expression)
BigCount(expressie) BIGCOUNT(expression)
Count(expression) COUNT(expression)
Min(expressie) MIN(expression)
Max(expressie) MAX(expression)
StDev(expressie) STDEV(expression)
StDevP(expressie) STDEVP(expression)
Sum(expressie) SUM(expression)
Var(expressie) VAR(expression)
VarP(expressie) VARP(expression)

Wiskundige functies

In de volgende tabel worden de koppelingen van wiskundige functies beschreven.

Canonieke functies SQL Server-functies
Abs(waarde) ABS(value)
Plafond(waarde) CEILING(value)
Floor(value) FLOOR(value)
Power(value) POWER(value, exponent)
AfRonden(waarde) ROUND(value, digits, 0)
afkappen ROUND(value , digits, 1)

Stringfuncties

In de volgende tabel wordt de toewijzing van tekenreeksfuncties beschreven:

Canonieke functies SQL Server-functies
Contains(tekenreeks, doel) CHARINDEX(target, string)
Concat(tekenreeks1, tekenreeks2) tekenreeks1 + tekenreeks2
EndsWith(tekenreeks, doel) CHARINDEX(REVERSE(target), REVERSE(string)) = 1

Notitie De CHARINDEX functie retourneert false als de string functie is opgeslagen in een kolom met een vaste lengtetekenreeks en target een constante is. In dit geval wordt de hele tekenreeks doorzocht, inclusief eventuele spaties aan het einde. Een mogelijke tijdelijke oplossing is om de gegevens in de tekenreeks met vaste lengte te knippen voordat de tekenreeks aan de EndsWith functie wordt doorgegeven, zoals in het volgende voorbeeld: EndsWith(TRIM(string), target)
IndexOf(doel, tekenreeks2) CHARINDEX(target, string2)
Links (tekenreeks1, lengte) LEFT(string1, length)
Lengte (tekenreeks) LEN(string)
LTrim(tekenreeks) LTRIM(string)
Right (tekenreeks1, lengte) RIGHT (string1, length)
Trim(tekenreeks) LTRIM(RTRIM(string))
Vervangen (tekenreeks1, tekenreeks2, tekenreeks3) REPLACE(string1, string2, string3)
Omgekeerd (tekenreeks) REVERSE (string)
RTrim(tekenreeks) RTRIM(string)
StartsWith(tekenreeks, doel) CHARINDEX(target, string)
Substring(tekenreeks, begin, lengte) SUBSTRING(string, start, length)
ToLower(tekenreeks) LOWER(string)
ToUpper(tekenreeks) UPPER(string)

Bitsgewijze functies

In de volgende tabel wordt de mapping van bitsgewijze functies beschreven.

Canonieke functies SQL Server-functies
BitWiseAnd (waarde1, waarde2) waarde1 en waarde2
BitWiseNot (waarde) ~waarde
BitWiseOr (waarde1, waarde2) waarde1 | waarde2
BitWiseXor (waarde1, waarde2) waarde1 ^ waarde2