Partager via


Mappage du modèle conceptuel canonique aux fonctions SQL Server

Cette rubrique décrit comment les fonctions canoniques de modèle conceptuel sont mappées aux fonctions SQL Server correspondantes.

Fonctions de date et heure

Le tableau suivant décrit le mappage des fonctions de date et d'heure :

Fonctions canoniques Fonctions SQL Server
AddDays(expression) 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(year, month, day, hour, minute, second) Pour SQL Server 2000 et SQL Server 2005, une valeur au format datetime est créée sur le serveur. Pour SQL Server 2008 et les versions ultérieures, une valeur datetime2 est créée sur le serveur.
CreateDateTimeOffset(year, month, day, hour, minute, second, tzoffset) Une valeur au format datetimeoffset est créée sur le serveur.

Fonction non prise en charge dans SQL Server 2000 et SQL Server 2005.
CreateTime(hour, minute, second) Une valeur au format time est créée sur le serveur.

Fonction non prise en charge dans SQL Server 2000 et SQL Server 2005.
CurrentDateTime() SysDateTime() dans SQL Server 2008.

GetDate() dans SQL Server 2000 et SQL Server 2005.
CurrentDateTimeOffset() SysDateTimeOffset() dans SQL Server 2008.

Fonction non prise en charge dans SQL Server 2000 et SQL Server 2005.
CurrentUtcDateTime() SysUtcDateTime() dans SQL Server 2008. GetUtcDate() dans SQL Server 2000 et 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)
Millisecond(expression) DatePart(millisecond, expression)
Minute(expression) DatePart(minute, expression)
Month(expression) DatePart(month, expression)
Second(expression) DatePart(second, expression)
Truncate(expression) Pour SQL Server 2000 et SQL Server 2005, une valeur au format datetime tronquée est créée sur le serveur. Pour SQL Server 2008 et les versions ultérieures, une valeur datetime2 ou datetimeoffset est créée sur le serveur.
Year(expression) DatePart(YEAR, expression)

Fonctions d’agrégation

Le tableau suivant décrit le mappage des fonctions d'agrégation :

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

Fonctions mathématiques

Le tableau suivant décrit le mappage des fonctions mathématiques :

Fonctions canoniques Fonctions SQL Server
Abs(valeur) ABS(value)
Ceiling(valeur) CEILING(value)
Floor(valeur) FLOOR(value)
Power(valeur) POWER(value, exponent)
Round(valeur) ROUND(value, digits, 0)
Truncate ROUND(value , digits, 1)

Fonctions de chaîne

Le tableau suivant décrit le mappage des fonctions de chaîne :

Fonctions canoniques Fonctions SQL Server
Contains(string, target) CHARINDEX(target, string)
Concat(string1, string2) string1 + string2
EndsWith(string, target) CHARINDEX(REVERSE(target), REVERSE(string)) = 1

Remarque La fonction CHARINDEX retourne false si la chaîne string est stockée dans une colonne de chaîne de longueur fixe et que target est une constante. Dans ce cas, la chaîne entière est recherchée, y compris les éventuels espaces de remplissage de fin. Une solution de contournement possible consiste à découper les données dans la chaîne de longueur fixe avant de passer la chaîne à la fonction EndsWith, comme dans l'exemple suivant : EndsWith(TRIM(string), target)
IndexOf(target, string2) CHARINDEX(target, string2)
Left (string1, length) LEFT(string1, length)
Length (string) LEN(string)
LTrim(string) LTRIM(string)
Right (string1, length) RIGHT (string1, length)
Trim(string) LTRIM(RTRIM(string))
Replace (string1, string2, string3) REPLACE(string1, string2, string3)
Reverse (string) REVERSE (string)
RTrim(string) RTRIM(string)
StartsWith(string, target) CHARINDEX(target, string)
Substring(string, start, length) SUBSTRING(string, start, length)
ToLower(string) LOWER(string)
ToUpper(string) UPPER(string)

Fonctions de bits

Le tableau suivant décrit le mappage des fonctions de bits :

Fonctions canoniques Fonctions SQL Server
BitWiseAnd (value1, value2) value1 & value2
BitWiseNot (value) ~value
BitWiseOr (value1, value2) value1 | value2
BitWiseXor (value1, value2) value1 ^ value2