概念模型规范函数到 SQL Server 函数映射
本主题介绍概念模型规范函数如何映射到相应的 SQL Server 函数。
日期和时间函数
下表介绍了日期和时间函数映射:
规范函数 | SQL Server 函数 |
---|---|
DATEADD(day, number, date) |
|
DATEADD(hour, number, date) |
|
DATEADD(microsecond, number, date) |
|
DATEADD(millisecond, number, date) |
|
DATEADD(minute, number, date) |
|
DATEADD(month, number, date) |
|
DATEADD(nanosecond, number, date) |
|
DATEADD(second, number, date) |
|
DATEADD(year, number, date) |
|
对于 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 中不受支持。 |
在服务器上创建 time 带格式的值。 在 SQL Server 2000 或 SQL Server 2005 中不受支持。 |
|
SysDateTime()(在 SQLServer 2008 中)。 GetDate()(在 SQLServer 2000 和 SQLServer 2005 中)。 |
|
SysDateTimeOffset()(在 SQL Server 2008 中)。 在 SQL Server 2000 或 SQL Server 2005 中不受支持。 |
|
SysUtcDateTime()(在 SQLServer 2008 中)。 GetUtcDate()(在 SQL Server 2000 和 SQL Server 2005 中)。 |
|
DatePart(dayofyear, expression) |
|
DatePart(day, expression) |
|
DATEDIFF(day, startdate, enddate) |
|
DATEDIFF(hour, startdate, enddate) |
|
DATEDIFF(microsecond, startdate, enddate) |
|
DATEDIFF(millisecond, startdate, enddate) |
|
DATEDIFF(minute, startdate, enddate) |
|
DATEDIFF(nanosecond, startdate, enddate) |
|
DATEDIFF(second, startdate, enddate) |
|
DATEDIFF(year, startdate, enddate) |
|
DatePart(tzoffset, expression) |
|
DatePart(hour, expression) |
|
DatePart(millisecond, expression) |
|
DatePart(minute, expression) |
|
DatePart(month, expression) |
|
DatePart(second, expression) |
|
对于 SQL Server 2000 和 SQL Server 2005,在服务器上创建被截断的 datetime 带格式的值。 对于 SQL Server 2008 及更高版本,在服务器上创建被截断的 datetime2 或 datetimeoffset 值。 |
|
DatePart(YEAR, expression) |
聚合函数
下表介绍了聚合函数映射:
规范函数 | SQL Server 函数 |
---|---|
AVG(expression) |
|
BIGCOUNT(expression) |
|
COUNT(expression) |
|
MIN(expression) |
|
MAX(expression) |
|
STDEV(expression) |
|
STDEVP(expression) |
|
SUM(expression) |
|
VAR(expression) |
|
VARP(expression) |
数学函数
下表介绍了数学函数映射:
规范函数 | SQL Server 函数 |
---|---|
ABS(value) |
|
CEILING(value) |
|
FLOOR(value) |
|
POWER(value, exponent) |
|
ROUND(value, digits, 0) |
|
ROUND(value , digits, 1) |
字符串函数
下表介绍了字符串函数映射:
规范函数 | SQL Server 函数 |
---|---|
CHARINDEX(target, string) |
|
string1 + string2 |
|
CHARINDEX(REVERSE(target), REVERSE(string)) = 1 注意 如果 string 存储在固定长度字符串列中且 target 为常量,CHARINDEX 函数返回 false。 在这种情况下,将搜索整个字符串,包括任何填充尾随空格。 一种可行的解决方法是在将字符串传递给 |
|
CHARINDEX(target, string2) |
|
LEFT(string1, length) |
|
LEN(string) |
|
LTRIM(string) |
|
RIGHT (string1, length) |
|
LTRIM(RTRIM(string)) |
|
REPLACE(string1, string2, string3) |
|
REVERSE (string) |
|
RTRIM(string) |
|
CHARINDEX(target, string) |
|
SUBSTRING(string, start, length) |
|
LOWER(string) |
|
UPPER(string) |
位函数
下表介绍了位函数映射:
规范函数 | SQL Server 函数 |
---|---|
value1 和 value2 |
|
~value |
|
value1 | value2 |
|
value1 ^ value2 |