Condividi tramite


Mapping delle funzioni canoniche del modello concettuale alle funzioni SQL Server

In questo argomento viene descritto il mapping delle funzioni canoniche del modello concettuale alle corrispondenti funzioni SQL Server.

Funzioni di data e ora

Nella tabella seguente viene descritto il mapping delle funzioni di data e ora:

Funzioni canoniche Funzioni 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)

Per SQL Server 2000 e SQL Server 2005, un valore formattato in datetime viene creato nel server. Per SQL Server 2008 e versioni successive, un valore datetime2 viene creato nel server.

CreateDateTimeOffset(year, month, day, hour, minute, second, tzoffset)

Un valore formattato in datetimeoffset viene creato nel server.

Non supportata in SQL Server 2000 o SQL Server 2005.

CreateTime(hour, minute, second)

Un valore formattato in time viene creato nel server.

Non supportata in SQL Server 2000 o SQL Server 2005.

CurrentDateTime()

SysDateTime() in SQLServer 2008.

GetDate() in SQLServer 2000 e in SQLServer 2005.

CurrentDateTimeOffset()

SysDateTimeOffset() in SQL Server 2008.

Non supportata in SQL Server 2000 o SQL Server 2005.

CurrentUtcDateTime()

SysUtcDateTime() in SQLServer 2008. GetUtcDate() in SQL Server 2000 e in 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)

Per SQL Server 2000 e SQL Server 2005, un valore formattato in datetime troncato viene creato nel server. Per SQL Server 2008 e versioni successive, un valore datetime2 o datetimeoffset troncato viene creato nel server.

Year(expression)

DatePart(YEAR, expression)

Funzioni di aggregazione

Nella tabella seguente viene descritto il mapping delle funzioni di aggregazione:

Funzioni canoniche Funzioni 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)

Funzioni matematiche

Nella tabella seguente viene descritto il mapping delle funzioni matematiche:

Funzioni canoniche Funzioni SQL Server

Abs(value)

ABS(value)

Ceiling(value)

CEILING(value)

Floor(value)

FLOOR(value)

Power(value)

POWER(value, exponent)

Round(value)

ROUND(value, digits, 0)

Truncate

ROUND(value , digits, 1)

Funzioni di stringa

Nella tabella seguente viene descritto il mapping delle funzioni di stringa:

Funzioni canoniche Funzioni SQL Server

Contains(string, target)

CHARINDEX(target, string)

Concat(string1, string2)

string1 + string2

EndsWith(string, target)

CHARINDEX(REVERSE(target), REVERSE(string)) = 1

Nota   La funzione CHARINDEX restituisce il valore false se il parametro string è archiviato in una colonna di stringhe a lunghezza fissa e target è una costante. In questo caso, la ricerca viene eseguita nell'intera stringa, inclusa la spaziatura interna finale. Una possibile soluzione alternativa consiste nel tagliare i dati nella stringa a lunghezza fissa prima di passare la stringa alla funzione EndsWith, come nell'esempio seguente: 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)

Funzioni bit per bit

Nella tabella seguente viene descritto il mapping delle funzioni bit per bit:

Funzioni canoniche Funzioni SQL Server

BitWiseAnd (value1, value2)

value1 & value2

BitWiseNot (value)

~value

BitWiseOr (value1, value2)

value1 | value2

BitWiseXor (value1, value2)

value1 ^ value2