共用方式為


概念模型典型與 SQL Server 函式的對應

本主題描述概念模型標準函式如何對應至對應的 SQL Server 函式。

日期和時間函式

下表描述日期與時間函式對應:

標準函式 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) 針對 SQL Server 2000 和 SQL Server 2005,會在伺服器上建立一個格式化的 datetime 值。 針對 SQL Server 2008 和更新版本,會在伺服器上建立一個 datetime2 值。
CreateDateTimeOffset(year、month、day、hour、minute、second、tzoffset) 在伺服器上會建立datetimeoffset格式化值。

SQL Server 2000 或 SQL Server 2005 不支援。
CreateTime(小時、分鐘、秒) 在伺服器上會建立time格式化值。

SQL Server 2000 或 SQL Server 2005 不支援。
CurrentDateTime() SysDateTime() 在 SQLServer 2008 中。

GetDate() 在 SQLServer 2000 和 SQLServer 2005 中。
CurrentDateTimeOffset() SysDateTimeOffset() 在 SQL Server 2008 中。

SQL Server 2000 或 SQL Server 2005 不支援。
CurrentUtcDateTime() SysUtcDateTime() 在 SQLServer 2008 中。 GetUtcDate() 在 SQL Server 2000 和 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)
分鐘(表達式) DatePart(minute, expression)
Month(expression) DatePart(month, expression)
Second(expression) DatePart(second, expression)
Truncate(expression) 針對 SQL Server 2000 和 SQL Server 2005,會在伺服器上建立截斷的 datetime 格式值。 針對 SQL Server 2008 和更新版本,會在伺服器上建立截斷 datetime2datetimeoffset 值。
Year(expression) DatePart(YEAR, expression)

聚合函數

下表說明聚合函數的對應關係:

標準函式 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)

數學函數

以下表格描述了數學函數的對應:

標準函式 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)
截斷 ROUND(value , digits, 1)

字串函式

下表描述字串函式對應:

標準函式 SQL Server 函式
Contains(string, target) CHARINDEX(target, string)
Concat(string1, string2) string1 + string2
EndsWith(string, target) CHARINDEX(REVERSE(target), REVERSE(string)) = 1

注意如果 CHARINDEX 儲存在固定長度字串資料列中,而且 false 是常數,則函string式會target傳回 。 在這個情況下,會搜尋到整個字串,包括任何填補的後端空格。 可能的因應措施是在將字串傳遞至 EndsWith 函式之前,先修剪固定長度字串中的數據,如下列範例所示: EndsWith(TRIM(string), target)
IndexOf(target, string2) CHARINDEX(target, string2)
Left(string1, length) LEFT(string1, length)
長度 (字串) LEN(string)
LTrim(string) LTRIM(string)
Right(string1,length) RIGHT (string1, length)
Trim(string) LTRIM(RTRIM(string))
替換(string1, string2, string3) REPLACE(string1, string2, string3)
反向 (字串) 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)

位元運算函式

下表描述位元運算函式對應:

標準函式 SQL Server 函式
BitWiseAnd (value1, value2) value1 和 value2
BitWiseNot (value) ~價值
BitWiseOr (value1, value2) value1 |value2
BitWiseXor(value1, value2) value1 ^ value2