次の方法で共有


概念モデルの正規関数と 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(年、月、日、時、分、秒) 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(hour, minute, second) 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(式) 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) SQL Server 2000 および SQL Server 2005 では、切り捨てられた datetime 形式の値がサーバーに作成されます。 SQL Server 2008 以降のバージョンでは、切り捨てられた datetime2 または datetimeoffset 値がサーバーに作成されます。
Year(expression) DatePart(YEAR, expression)

集計関数

次の表では、集計関数のマッピングについて説明します。

正規関数 SQL Server 関数
Avg(expression) AVG(expression)
BigCount(式) 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関数は、stringが固定長文字列列に格納され、targetが定数である場合にfalseを返します。 この場合、末尾の埋め込み空白も含めて文字列全体が検索されます。 考えられる回避策は、次の例のように、文字列を 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))
Replace (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 (値) ~価値
BitWiseOr (value1, value2) value1 |value2
BitWiseXor (value1, value2) value1 ^ value2