プライマリ・コンテンツに移動

Oracle® Data Provider for .NET開発者ガイド ODAC 12.2c リリース1 (12.2.0.1) for Microsoft Windows E88311-03 |
| 目次 | 索引

前 | 次 |

# B LINQの正規関数とOracle関数のマッピング

この付録では、Entity Frameworkの正規関数と、そのマップ先である、対応するODP.NETプロバイダの関数をリストします。

集計正規関数

表B-1 集計正規関数とOracle関数のマッピング

正規関数 | Oracle関数
--- | ---
`Avg (` `expression` `)` | `AVG(``expression``)`
`BigCount (` `expression` `)` | `COUNT(``expression``)`
`Count (` `expression``)` | `COUNT(``expression``)`
`Max (` `expression` `)` | `MAX(``expression``)`
`Min (` `expression` `)` | `MIN(``expression``)`
`StDev (` `expression` `)` | `STDDEV(``expression``)`
`StDevP(` `expression``)` | `STDEVP(``expression``)`
`Sum (` `expression` `)` | `SUM` `(``expression``)`
`Var(``expression``)` | `VAR(``expression``)`
`VarP(``expression``)` | `VARP(``expression``)`

数学正規関数

表B-2 数学正規関数とOracle関数のマッピング

正規関数 | Oracle関数
--- | ---
`Abs (` `value` `)` | `ABS (``value``)`
`Ceiling (` `value` `)` | `CEIL(``value``)`
`Floor (` `value` `)` | `FLOOR(``value``)`
`Power(``value``,` `exponent``)` | `POWER(``value`, `exponent``)`
`Round (` `value` `)` | `ROUND(``value``)`
`Round (` `value``,` `digits` `)` | `ROUND(``value`, `digits``)`
`Truncate(``value``,` `digits``)` | `TRUNC(``value`, `digits``)`

文字列正規関数

表B-3 文字列正規関数とOracle関数のマッピング

正規関数 | Oracle関数
--- | ---
`Concat (` `string1`, `string2``)` | `CONCAT(``string1`, `string2``)` または `( (``string1``) || (``string2``))`
`Contains(``string`, `target``)` | `INSTR(``string``,` `target``)`
`EndsWith(``string`, `target``)` | `INSTR(REVERSE(``string``), REVERSE(``target``))`
比較演算子 `(``<, <=, >, >=, <>, !=``)` | 比較演算子 `(<, <=, >, >=, <>, !=)`
`IndexOf(` `target``,` `string``)` | `INSTR(``string2``,` `target``)`
`Left (` `string1``,` `length``)` | `SUBSTR(``string1``,` `length``)`
`Length (` `string` `)` | `LENGTH(``string``)`
`LTrim(` `string` `)` | `LTRIM(``string``)`
`Replace (` `string1``,` `string2``,` `string3``)` | `REPLACE(``string1``,` `string2``,` `string3``)`
`Reverse (` `string` `)` | `REVERSE(`string`)`
`Right (` `string``,` `length``)` | `(CASE WHEN LENGTH(``string``) >= (``length``) THEN SUBSTR (``string``) ,-(``length``),` `length` `) ELSE` `string` `END)`
`RTrim(` `string` `)` | `RTRIM(``string``)`
`Substring (` `string``,` `start``,` `length``)` | `SUBSTR((` `string``,` `start``,` `length``)`
`StartsWith(``string`, `target``)` | `INSTR(``string,` `target``)`
`ToLower (` `string` `)` | `LOWER(``string``)`
`ToUpper(` `string` `)` | `UPPER`
`Trim (` `string` `)` | `LTRIM(RTRIM(``string``))`

日付と時刻の正規関数

表B-4 日付および時刻の正規関数とOracle関数のマッピング

正規関数 | Oracle関数
--- | ---
`AddNanoseconds(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddMicroseconds(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddMilliseconds(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddSeconds(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddMinutes(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddHours(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddDays(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddMonths(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`AddYears(``expression``,` `number``)` | `(``expression``) + INTERVAL`
`CreateDateTime(``year``,` `month``,` `day``,` `hour``,` `minute``,` `second``)` | `TO_TIMESTAMP`
`CreateDateTimeOffset(``year``,` `month``,` `day``,` `hour``,` `minute``,` `second``,` `tzoffset``)` | `TO_TIMESTAMP_TZ`
`CreateTime(``hour``,` `minute``,` `second``)` | Oracleでは時間リテラルがサポートされていません
`CurrentDateTime()` | `LOCALTIMESTAMP`
`CurrentDateTimeOffset()` | `SYSTIMESTAMP`
`CurrentUtcDateTime()` | `SYS_EXTRACT_UTC` `(``LOCALTIMESTAMP``)`
`Day(``expression``)` | `EXTRACT(DAY FROM` `expression``)`
`DayOfYear(``expression``)` | `TO_NUMBER(TO_CHAR(CAST(``expression` `AS TIMESTAMP), 'DDD'))`
`DiffNanoseconds(``startExpression`, `endExpression``)` | `EXTRACT`および算術操作
`DiffMilliseconds(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffMicroseconds(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffSeconds(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffMinutes(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffHours(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffDays(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffMonths(``startExpression``,` `endExpression``)` | `EXTRACT`および算術操作
`DiffYears(``startExpression``,` `endExpression` `)` | `EXTRACT`および算術操作
比較演算子 `(<, <=, >, >=, <>, !=)` | `<, <=, >, >=, <>, !=` 演算子
`GetTotalOffsetMinutes (` `datetimeoffset` `)` | `(EXTRACT(TIMEZONE_HOUR FROM (``expression``))) * 60 + EXTRACT (TIMEZONE_MINUTE FROM(``expression``))` (複数の操作が必要です。)
`Hour (``expression``)` | `EXTRACT(HOUR FROM` `expression``)`
`Millisecond(``expression``)` | `NVL(TO_NUMBER(SUBSTR(TO_CHAR(CAST(``expression` `AS TIMESTAMP), 'DD-` `MON-RR HH24:MI:SSXFF'), 20, 3)), 0)`
`Minute(``expression``)` | `EXTRACT(MINUTE FROM` `expression``)`
`Month (``expression``)` | `EXTRACT(MONTH FROM` `expression``)`
`Second(``expression``)` | `EXTRACT (SECOND FROM` `expression``)`
`TruncateDate(``expression``)` | `TRUNC(``expression``)`
`Year(``expression``)` | `EXTRACT(YEAR FROM` `expression``)`

ビット単位の正規関数

表B-5 ビット単位正規関数とOracle関数のマッピング

正規関数 | Oracle関数
--- | ---
`BitWiseAnd (` `value1` , `value2` `)` | `BITAND(``value1`, `value2``)`
`BitWiseNot (` `value` `)` | `( 0 -` `value``) - 1`
`BitWiseOr (` `value1` `,` `value2` `)` | `Value1` - `BITAND(``value1``,` `value2``) +` `value2`
`BitWiseXor (` `value1` `,` `value2` `)` | `Value1` `- 2 * BITAND(``value1``,` `value2``) +` `value2`

その他の正規関数

表B-6 その他の正規関数とOracle関数のマッピング

正規関数 | Oracle関数
--- | ---
`NewGuid()` | `SYS_GUID`