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 |