概念モデル正規関数と 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)

A datetimeoffset formatted value is created on the server.

SQL Server 2000 と SQL Server 2005 ではサポートされません。

CreateTime(hour, minute, second)

A time formatted value is created on the server.

SQL Server 2000 と SQL Server 2005 ではサポートされません。

CurrentDateTime()

SysDateTime() (SQL Server 2008)。

GetDate() (SQL Server 2000 および SQL Server 2005)。

CurrentDateTimeOffset()

SysDateTimeOffset() (SQL Server 2008)。

SQL Server 2000 と SQL Server 2005 ではサポートされません。

CurrentUtcDateTime()

SysUtcDateTime() (SQL Server 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)

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(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)

Truncate

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

メモ   string が固定長文字列の列に格納されており、target が定数である場合、CHARINDEX 関数は false を返します。 この場合、末尾の埋め込み空白も含めて文字列全体が検索されます。 この問題を回避するには、データを固定長文字列の長さに合わせて切り詰めてから、文字列を EndsWith 関数に渡します。たとえば、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)

ビット単位の関数

ビット単位の関数のマッピングを次の表に示します。

正規関数 SQL Server 関数

BitWiseAnd (value1, value2)

value1 & value2

BitWiseNot (value)

~value

BitWiseOr (value1, value2)

value1 | value2

BitWiseXor (value1, value2)

value1 ^ value2