関数サンプル2

Similar documents
関数サンプル2

関数サンプル2

関数サンプル1

関数サンプル1

基本サンプル

結合サンプル

基本サンプル

基本サンプル

1 SQL Server SQL Oracle SQL SQL* Plus PL/SQL 2 SQL Server SQL Server SQL Oracle SQL SQL*Plus SQL Server GUI 1-1 osql 1-1 Transact- SQL SELECTFROM 058

Oracle データベースと PSQL v11 を比較する 株式会社エージーテック 2014 年 9 月 30 日

ODBC Driver for 4D Server

1,.,,,., RDBM, SQL. OSS,, SQL,,.

職業訓練実践マニュアル 重度視覚障害者編Ⅰ

SQL (2) データベース論 Ⅰ 第 7 回 URL 作成者末次文雄 C

Chapter Two

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第8版  

Microsoft PowerPoint pptx

intra-mart Accel Platform — TableMaintenance ユーザ操作ガイド   第7版   None

Microsoft認定資格問題集(70-483_demo)

クエリの作成が楽になるUDF

Chapter Two

アジェンダ ORACLE MASTER Oracle Database 11g 概要 11g SQL 基礎 Ⅰ 試験紹介 ポイント解説 Copyright 2011 Oracle. All rights reserved. 2

Microsoft Word - sample_adv-programming.docx

ISNULL ISNOTNULL BETWEEN a ANDb IN(a b ) NOTIN(a b ) NULL かどうかの判定 値が a と b の間にあれば真 リスト中に値があるかどうか ISNULL (a) aが NULL なら真 COALESCE (a b ) INTERVAL (n n1

関数とは 関数とは 結果を得るために 処理を行う仕組み です Excel2010 には あらかじめ関数が数式として組み込まれています たとえば SUM 関数 は 指定した値をすべて合計する 仕組みです 長い計算式や複雑な計算式を作成せずに 簡単に結果を求めることができます 例合計 =A1+A2+A3

Excel97関数編

Microsoft PowerPoint - db03-5.ppt

Microsoft Word - no103.docx

PowerPoint プレゼンテーション

,, create table drop table alter table

1 ex01.sql ex01.sql ; user_id from (select user_id ;) user_id * select select (3+4)*7, SIN(PI()/2) ; (1) select < > from < > ; :, * user_id user_name

はじめに 本書では GridDB Advanced Edition における SQL の記述方法および 注意事項について記載しています GridDB Advanced Edition をご使用になる前に 必ずお読みください なお 本書で説明する機能は GridDB Advanced Edition

Exam : J Title : Querying Microsoft SQL Server 2012 Version : DEMO 1 / 10

第 1 章 条件分岐 この章では 条件に応じて処理を分岐する方法について説明します 1. CASE 式で複雑な条件分岐を実現 2. 関数を使用した条件分岐 3. MERGE 文による条件に応じた DML の実行

: ORDER BY

PowerPoint プレゼンテーション

eラーニング資料 e ラーニングの制作目標 データベース編 41 ページデータベースの基本となる概要を以下に示す この内容のコースで eラーニングコンテンツを作成予定 データベース管理 コンピュータで行われる基本的なデータに対する処理は 次の 4 種類です 新しいデータを追加する 既存のデータを探索

改訂履歴

Microsoft PowerPoint - 講義補助資料2017.pptx

问题集 ITEXAMPASS 1 年で無料進級することに提供する

Microsoft Word - SQL.rtf

SQL Server 2008 自習書シリーズ No.5 Transact-SQL 入門 Published: 2008 年 4 月 6 日 改訂版 : 2008 年 10 月 13 日 有限会社エスキューエル クオリテゖ

122.pdf

SQL 基礎 (6) JOIN 句 - データの結合 作成日 : 2016/02/22 作成者 : 西村 更新履歴 更新日 更新概要 作業者 2016/02/22 新規作成 西村 はじめに この資料では 下記のような JOIN によるテーブル ( データ ) の結合について簡単に説明します INNE

標準化 補足資料

answer.indd

第 2 章 問合せの基本操作 この章では データベースから情報を検索する際に使用する SELECT コマンド および SELECT コマンドと 同時に使用する句について説明します 1. 問合せとは 2. 基本的な問合せ 3. 列の別名 4. 重複行を一意にする 5. 検索行の絞込み 6. 文字パター

SQLite データベース IS04 組み込み 1

この文章に含まれる情報は 公表の日付の時点での Microsoft Corporation の考え方を表しています 市場の変化に応える必要 があるため Microsoft は記載されている内容を約束しているわけではありません この文書の内容は印刷後も正しいとは保障で きません この文章は情報の提供の

データベースS

FormPat インポート設定ガイド

PowerPoint プレゼンテーション

日付 現在日付時刻 var sdate = new Date(); 日付 dateserial var sdate = new Date( 'Mon Feb :02:03' ); Java Script, HTML, CSS 系 2017/3/16 var foo = new D

コマンドラインから受け取った文字列の大文字と小文字を変換するプログラムを作成せよ 入力は 1 バイトの表示文字とし アルファベット文字以外は変換しない 1. #include <stdio.h> 2. #include <ctype.h> /*troupper,islower,isupper,tol

Microsoft Word - Android_SQLite講座_画面800×1280

3 - 正しい SQL ( 方言を排除した SQL 文の記述方法 )

正規表現応用

Prog1_10th

改訂履歴

Basic descriptive statistics

目次 更新履歴... 1 はじめに... 3 レコードセット?... 3 準備... 5 SQL でデータを取得する... 6 データのループ処理... 7 列の値を取得する... 7 対象行を変更する (MoveFirst, MoveNext, MovePrevious, MoveLast)...

バイオプログラミング第 1 榊原康文 佐藤健吾 慶應義塾大学理工学部生命情報学科

Java講座

定期講座ガイド ~Office2016~ 協立情報通信株式会社

文字列操作と正規表現

Caché SQL に関するよくある質問

FileMaker SQL Reference

データベースアクセス

万年暦プログラム

このドキュメントに記載されている情報 (URL 等のインターネット Web サイトに関する情報を含む ) は 将来予告なしに変更することがあります このドキュメントに記載された内容は情報提供のみを目的としており 明示または黙示に関わらず これらの情報についてマイクロソフトはいかなる責任も負わないもの

FileMaker 15 SQL リファレンスガイド

com.ibm.etools.egl.jsfsearch.tutorial.doc.ps

Microsoft PowerPoint - 計算機言語 第7回.ppt

「不動産リスト」を解く

Microsoft PowerPoint - 第5章補足-DB2組み込みSQL.ppt

スライド 1

Functional Programming

桁区切りスタイルの表示形式 2O2 参照 0 円 #,##0" 円 " 関数の基本 項 目 ど ん な 場 合 使 用 関 数 スペース 不要なスペースを削除する TRIM( トリム ) 関数 2A2 参照 文字 ( 英字 数字 カナ文字 ) 半角文字から全角文字に変換する JIS( ジス ) 関数

2011 年度春学期基礎ゼミナール ( コンピューティングクラス ) A コース 1 / 18 コンピュータリテラシー A コース 第 10 講 [ 全 15 講 ] 2011 年度春学期 基礎ゼミナール ( コンピューティングクラス ) 同志社大学経済学部 DIGITAL TEXT コンピュータリ

02: 変数と標準入出力

職業訓練実践マニュアル 重度視覚障害者編Ⅰ

PowerPoint プレゼンテーション

Copyright c 2006 Zhenjiang Hu, All Right Reserved.

スライド 1

2 Java 35 Java Java HTML/CSS/JavaScript Java Java JSP MySQL Java 9:00 17:30 12:00 13: 項目 日数 時間 習得目標スキル Java 2 15 Web Java Java J

Excel 2007 Excel 2007 Excel 2007

ユーティリティ 管理番号 内容 対象バージョン 157 管理情報バッチ登録コマンド (utliupdt) のメッセージ出力に対し リダイレクトまたはパイプを使用すると メッセージが途中までしか出 力されないことがある 267 転送集計コマンド (utllogcnt) でファイル ID とホスト名の組

Taro php.jtdc

Microsoft Word - 操作マニュアル-Excel-2.doc

PowerPoint プレゼンテーション

Microsoft PowerPoint - 5Chap15.ppt

Microsoft Word - Cプログラミング演習(8)

早分かりS2Dao

スライド 1

PowerPoint プレゼンテーション

レポートのデータへのフィルタの適用

領域サイズの見積方法

PA4



Transcription:

SQLCompiler for LINQ(C#) のサンプル (LINQPad 用 LINQ to Entities 関数サンプル 2) 本サンプルで使用した Visual Studio プロジェクトの pubs データベースの概念モデルは 以下のテーブル名とカラム名が 直接 SQL Sever へクエリする場合と異なるので が補正されています テーブル名が異なるもの employee employees royshed roysheds titleauthor titleauthors カラム名が異なるもの.discount.discount1.title.title1 Northwind データベースについては 本サンプルで使用しているテーブル名とカラム名は 概念モデルと一致しています < 一覧表 > リンク No13.linq COUNT NULL 許容 (money 型 ) 表 13 No14.linq DATEADD 日付要素 = day, 加算値 = 数値リテラル, 時間 = NULL 禁止 (datetime 型 ) No15.linq DATEADD 日付要素 = day, 加算値 = 数値リテラル, 時間 = 文字列リテラルの時間 No15_2.linq DATEADD 日付要素 = day, 加算値 = NULL 禁止 (int 型 ), 時間 = NULL 禁止 (datetime 型 ) No15_3.linq DATEADD 日付要素 = day, 加算値 = NULL 許容 (int 型 ), 時間 = NULL 禁止 (datetime 型 ) No15_4.linq DATEADD (Northwind データベース ) 日付要素 = day, 加算値 = NULL 禁止 (int 型 ), 時間 = NULL 許容 (datetime 型 ) No15_5.linq DATEADD (Northwind データベース ) 日付要素 = day, 加算値 = NULL 許容 (int 型 ), 時間 = NULL 許容 (datetime 型 ) No15_6.linq DATEADD 日付要素 = month, 加算値 = 数値リテラル, 時間 = NULL 禁止 (datetime 型 ) No15_7.linq DATEADD 日付要素 = year, 加算値 = 数値リテラル, 時間 = NULL 禁止 (datetime 型 ) 表 14 表 15 表 15_2 表 15_3 表 15_4 表 15_5 表 15_6 表 15_7 1

No16.linq DATEDIFF 日付要素 = year, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 No16_2.linq DATEDIFF 日付要素 = year, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = GETDATE() 関数 No16_3.linq DATEDIFF (Northwind データベース ) 日付要素 = year, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = GETDATE() 関数 No16_4.linq DATEDIFF (Northwind データベース ) 日付要素 = year, 開始時間 = GETDATE() 関数, 終了時間 = NULL 許容 (datetime 型 ) No16_5.linq DATEDIFF (Northwind データベース ) 日付要素 = year, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = NULL 許容 (datetime 型 ) No16_6.linq DATEDIFF 日付要素 = month, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 表 16 表 16_2 表 16_3 表 16_4 表 16_5 表 16_6 No16_7.linq DATEDIFF 日付要素 = day, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 No16_8.linq DATEDIFF (Northwind データベース ) 日付要素 = month, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = GETDATE() 関数 表 16_7 表 16_8 No17.linq DATENAME 日付要素 = month, 時間 = NULL 禁止 (datetime 型 ) 表 17 No18.linq DATENAME 日付要素 = month, 時間 = 文字列リテラルの時間表 18 No18_2.linq DATENAME 日付要素 = year, 時間 = NULL 禁止 (datetime 型 ) 表 18_2 No18_3.linq DATENAME 日付要素 = day, 時間 = NULL 禁止 (datetime 型 ) 表 18_3 No18_4.linq DATENAME (Northwind データベース ) 日付要素 = month, 時間 = NULL 許容 (datetime 型 ) No18_5.linq DATENAME (Northwind データベース ) 日付要素 = year, 時間 = NULL 許容 (datetime 型 ) No18_6.linq DATENAME (Northwind データベース ) 日付要素 = day, 時間 = NULL 許容 (datetime 型 ) 表 18_4 表 18_5 表 18_6 No19.linq DATEPART 日付要素 = month, 時間 = NULL 禁止 (datetime 型 ) 表 19 No20.linq DATEPART 日付要素 = month, 時間 = 文字列リテラルの時間表 20 No20_2.linq DATEPART 日付要素 = year, 時間 = NULL 禁止 (datetime 型 ) 表 20_2 No20_3.linq DATEPART 日付要素 = day, 時間 = NULL 禁止 (datetime 型 ) 表 20_3 No20_4.linq DATEPART (Northwind データベース ) 日付要素 = month, 時間 = NULL 許容 (datetime 型 ) 表 20_4 No21.linq DAY NULL 禁止 (datetime 型 ) 表 21 No22.linq DAY 文字列リテラルの時間表 22 No22_2.linq DAY (Northwind データベース )NULL 許容 (datetime 型 ) 表 22_2 2

No23.linq FLOOR NULL 許容 (money 型 ) 表 23 No23_2.linq FLOOR NULL 禁止 (decimal(4, 2) 型 ) 表 23_2 No24.linq GETDATE なし表 24 No25.linq ISDATE NULL 禁止 (datetime 型 ) 表 25 No25_2.linq ISDATE (Northwind データベース )NULL 許容 (datetime 型 ) 表 25_2 No25_3.linq ISDATE 時間形式の文字列リテラルと非時間形式の文字列表 25_3 No25_4.linq ISDATE NULL 禁止 (char 型 ) 表 25_4 No25_5.linq ISDATE 時間形式の整数リテラル表 25_5 No25_6.linq ISDATE NULL 許容 (int 型 ) 表 25_6 No25_7.linq ISDATE NULL 許容 (money 型 ) 表 25_7 No26.linq ISNULL NULL 許容 (money 型 ) が NULL なら 0 に置換する及び NULL 許容 (int 型 ) が NULL なら 0 に置換する 表 26 No26_2.linq ISNULL No26.linq で値が NULL でないものを含むようにする表 26_2 No27.linq ISNUMERIC NULL 許容 (money 型 ) と NULL 許容 (int 型 ) 表 27 No27_2.linq ISNUMERIC NULL 禁止 (decimal(4, 2) 型 ) 表 27_2 No27_3.linq ISNUMERIC NULL 許容 (char 型 ) 表 27_3 No27_4.linq ISNUMERIC NULL 禁止 (char 型 ) 表 27_4 No27_5.linq ISNUMERIC NULL 禁止 (char 型 ) と小数部を持つ文字列リテラルの数値表 27_5 No27_6.linq ISNUMERIC NULL 禁止 (char 型 ) と NULL 禁止 (datetime 型 ) 表 27_6 No28.linq LEFT NULL 禁止 (varchar 型 ) から 2 文字分表 28 No28_2.linq LEFT NULL 許容 (char 型 ) から 2 文字分表 28_2 No28_3.linq LEFT NULL 禁止 (varchar 型 ) から NULL 許容 (smallint 型 ) 文字分表 28_3 No28_4.linq LEFT NULL 許容 (char 型 ) から NULL 許容 (smallint 型 ) 文字分表 28_4 No29.linq LEFT 文字列リテラル表 29 No30.linq LEN NULL 禁止 (char 型 ) 表 30 No30_2.linq LEN NULL 許容 (char 型 ) 表 30_2 No31.linq LOWER NULL 禁止 (varchar 型 ) 表 31 No31_2.linq LOWER NULL 許容 (char 型 ) 表 31_2 No32.linq LTRIM NULL 禁止 (varchar 型 ) 表 32 No32_2.linq LTRIM NULL 許容 (char 型 ) 表 32_2 No33.linq MAX NULL 許容 (money 型 ) 表 33 No34.linq MIN NULL 許容 (money 型 ) 表 34 No35.linq MONTH NULL 禁止 (datetime 型 ) 表 35 No36.linq MONTH 文字列リテラルで表した時間表 36 No36_2.linq MONTH (Northwind データベース )NULL 許容 (datetime 型 ) 表 36_2 No37.linq NULLIF NULL 禁止 (tinyint 型 ) と NULL 禁止 (tinyint 型 ) を比較する表 37 No37_2.linq NULLIF NULL 禁止 (decimal(4, 2) 型 ) と小数部を持つ数値リテラル を比較する 表 37_2 3

No37_3.linq NULLIF NULL 禁止 (char 型 ) と文字列リテラルを比較する表 37_3 No37_4.linq NULLIF No37_2.linq の引数を入れ替える表 37_4 No37_5.linq NULLIF No37_3.linq の引数を入れ替える表 37_5 No37_6.linq NULLIF NULL 許容 (int 型 ) と整数リテラルを比較する表 37_6 No37_7.linq NULLIF NULL 許容 (money 型 ) と小数部を持つ数値リテラルを比較す る 表 37_7 No37_8.linq NULLIF NULL 許容 (money 型 ) と NULL 許容 (money 型 ) を比較する表 37_8 No37_9.linq NULLIF NULL 許容 (char 型 ) と文字列リテラルを比較する表 37_9 No37_10.linq NULLIF (Northwind データベース )NULL 許容 (datetime 型 ) と NULL 許容 (datetime 型 ) を比較する 表 37_10 No37_11.linq NULLIF No37_10.linq の引数を入れ替える表 37_11 No38.linq REPLACE 対象文字列 = NULL 禁止 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル No38_2.linq REPLACE 対象文字列 = NULL 許容 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル No38_3.linq REPLACE 対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = NULL 許容 (char 型 ), 置換文字列 = 文字列リテラル No38_4.linq REPLACE 対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = NULL 許容 (char 型 ) 表 38 表 38_2 表 38_3 表 38_4 No39.linq REPLICATE NULL 禁止 (char 型 ) を整数リテラル回数繰り返す表 39 No39_2.linq REPLICATE NULL 禁止 (varchar 型 ) を NULL 禁止 (smallint 型 ) 回数繰り 返す 表 39_2 No39_3.linq REPLICATE NULL 許容 (char 型 ) を整数リテラル回数繰り返す表 39_3 No39_4.linq REPLICATE NULL 禁止 (varchar 型 ) を NULL 許容 (int 型 ) 回数繰り返す表 39_4 No39_5.linq REPLICATE NULL 許容 (char 型 ) を NULL 許容 (int 型 ) 回数繰り返す表 39_5 No40.linq REVERSE NULL 禁止 (varchar 型 ) 表 40 No40_2.linq REVERSE NULL 許容 (varchar 型 ) 表 40_2 No41.linq RIGHT NULL 禁止 (varchar 型 ) から整数リテラル文字分表 41 No41_2.linq RIGHT NULL 許容 (char 型 ) から整数リテラル文字分表 41_2 No41_3.linq RIGHT NULL 許容 (char 型 ) から NULL 許容 (smallint 型 ) 文字分表 41_3 No42.linq ROUND 対象数 = NULL 許容 (money 型 ), 小数桁 = 整数リテラル No42_2.linq ROUND 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = 整数リテラル No42_3.linq ROUND 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = NULL 許容 (int 型 ) No42_4.linq ROUND 対象数 = NULL 許容 (money 型 ), 小数桁 = NULL 許容 (int 型 ) 表 42 表 42_2 表 42_3 表 42_4 4

No43.linq RTRIM NULL 禁止 (varchar 型 ) 表 43 No43_2.linq RTRIM NULL 許容 (char 型 ) 表 43_2 No44.linq SIGN NULL 許容 (money 型 ) 表 44 No44_2.linq SIGN NULL 禁止 (decimal(4, 2) 型 ) 表 44_2 No45.linq SPACE 整数リテラル表 45 No45_2.linq SPACE NULL 許容 (int 型 ) 表 45_2 No46.linq STR 対象数 = NULL 許容 (money 型 ), 小数桁 = 整数リテラル 表 46 No46_2.linq STR No46.linq で値が NULL を含むようにする表 46_2 No46_3.linq STR 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = 整数リテラル No46_4.linq STR 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = NULL 許容 (int 型 ) No46_5.linq STR 対象数 = NULL 許容 (money 型 ), 小数桁 = NULL 許容 (int 型 ) No47.linq STUFF 対象文字列 = NULL 禁止 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル No47_2.linq STUFF 対象文字列 = NULL 許容 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル No47_3.linq STUFF 対象文字列 = NULL 禁止 (varchar 型 ), 対象位置 = NULL 許容 (int 型 ), 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル No47_4.linq STUFF 対象文字列 = NULL 禁止 (varchar 型 ), 対象位置 = 整数リテラル, 削除文字数 = NULL 許容 (int 型 ), 挿入文字列 = 文字列リテラル No47_5.linq STUFF 対象文字列 = NULL 禁止 (char 型 ), 対象位置 = NULL 許容 (int 型 ), 削除文字数 = NULL 許容 (int 型 ), 挿入文字列 = 文字列リテラル No47_6.linq STUFF 対象文字列 = NULL 禁止 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = NULL 許容 (char 型 ) No48.linq SUBSTRING 対象文字列 = NULL 禁止 (char 型 ), 開始位置 = 整数リテラル, 文字数 = 整数リテラル No48_2.linq SUBSTRING 対象文字列 = NULL 許容 (char 型 ), 開始位置 = 整数リテラル, 文字数 = 整数リテラル 表 46_3 表 46_4 表 46_5 表 47 表 47_2 表 47_3 表 47_4 表 47_5 表 47_6 表 48 表 48_2 5

No48_3.linq SUBSTRING 対象文字列 = NULL 禁止 (varchar 型 ), 開始位置 = NULL 許容 (int 型 ), 文字数 = 整数リテラル No48_4.linq SUBSTRING 対象文字列 = NULL 禁止 (char 型 ), 開始位置 = 整数リテラル, 文字数 = NULL 許容 (int 型 ) No48_5.linq SUBSTRING 対象文字列 = NULL 禁止 (char 型 ), 開始位置 = NULL 許容 (int 型 ), 文字数 = NULL 許容 (int 型 ) 表 48_3 表 48_4 表 48_5 No49.linq SUM NULL 許容 (money 型 ) 表 49 No50.linq UPPER NULL 禁止 (varchar 型 ) 表 50 No50_2.linq UPPER NULL 許容 (char 型 ) 表 50_2 No51.linq YEAR NULL 禁止 (datetime 型 ) 表 51 No52.linq YEAR 文字列リテラルで表した時間 表 52 No52_2.linq YEAR (Northwind データベース )NULL 許容 (datetime 型 ) 表 52_2 No13.linq COUNT NULL 許容 (money 型 ) SELECT pub_id, COUNT(price) AS cnt FROM GROUP BY pub_id LINQ コード /* LINQ to SQL と同一 */.GroupBy(x1 => newgrkey1 = x1.pub_id}).select(g1 => new pub_id = g1.key.grkey1, cnt = g1.count(x1 => x1.price!= null) No14.linq DATEADD 日付要素 = day, 加算値 = 数値リテラル, 時間 = NULL 禁止 (datetime 型 ) SELECT pub_id, pubdate, DATEADD(day, 1, pubdate) AS tomorrow FROM WHERE pub_id = '0736'.Where(x1 => x1.pub_id == "0736") 6

x1.pub_id, x1.pubdate, tomorrow = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", 1, x1.pubdate) No15.linq DATEADD 日付要素 = day, 加算値 = 数値リテラル, 時間 = 文字列リテラルの時間 SELECT pub_id, pubdate, DATEADD(day, 1, '1991-06-30') AS tomorrow FROM WHERE pub_id = '0736'.Where(x1 => x1.pub_id == "0736") x1.pub_id, x1.pubdate, tomorrow = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", 1, new DateTime(1991, 06, 30)) No15_2.linq DATEADD 日付要素 = day, 加算値 = NULL 禁止 (int 型 ), 時間 = NULL 禁止 (datetime 型 ) SELECT pubdate, title_id, DATEADD(day, LEN(title_id), pubdate) AS value FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.pubdate, x1.title_id, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (x1.title_id).length, x1.pubdate) 7

No15_3.linq DATEADD 日付要素 = day, 加算値 = NULL 許容 (int 型 ), 時間 = NULL 禁止 (datetime 型 ) SELECT pubdate, royalty, DATEADD(day, royalty, pubdate) AS value FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.pubdate, x1.royalty, value = (System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.royalty, x1.pubdate)) No15_4.linq DATEADD (Northwind データベース ) 日付要素 = day, 加算値 = NULL 禁止 (int 型 ), 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, OrderID, DATEADD(day, OrderID, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.orderid, value = (System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.orderid, x1.shippeddate)) No15_5.linq DATEADD (Northwind データベース ) 日付要素 = day, 加算値 = NULL 許容 (int 型 ), 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, ShipVia, DATEADD(day, ShipVia, ShippedDate) AS value FROM Orders 8

WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.shipvia, value = (System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.shipvia, x1.shippeddate)) No15_6.linq DATEADD 日付要素 = month, 加算値 = 数値リテラル, 時間 = NULL 禁止 (datetime 型 ) SELECT pub_id, pubdate, DATEADD(month, 1, pubdate) AS tomorrow FROM WHERE pub_id = '0736'.Where(x1 => x1.pub_id == "0736") x1.pub_id, x1.pubdate, tomorrow = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "month", 1, x1.pubdate) No15_7.linq DATEADD 日付要素 = year, 加算値 = 数値リテラル, 時間 = NULL 禁止 (datetime 型 ) SELECT pub_id, pubdate, DATEADD(year, 1, pubdate) AS tomorrow FROM WHERE pub_id = '0736'.Where(x1 => x1.pub_id == "0736") x1.pub_id, x1.pubdate, tomorrow = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( 9

"year", 1, x1.pubdate) No16.linq DATEDIFF 日付要素 = year, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 SELECT ord_date, DATEDIFF(year, ord_date, '1990-01-01') AS diff FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, diff = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "year", x1.ord_date, new DateTime(1990, 01, 01)) No16_2.linq DATEDIFF 日付要素 = year, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = GETDATE() 関数 SELECT pubdate, GETDATE() AS today, DATEDIFF(year, pubdate, GETDATE()) AS diff FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.pubdate, today = DateTime.Now, diff = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "year", x1.pubdate, DateTime.Now) No16_3.linq 10

DATEDIFF (Northwind データベース ) 日付要素 = year, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = GETDATE() 関数 SELECT ShippedDate, GETDATE() AS today, DATEDIFF(year, ShippedDate, GETDATE()) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, today = DateTime.Now, value = (System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "year", x1.shippeddate, DateTime.Now)) No16_4.linq DATEDIFF (Northwind データベース ) 日付要素 = year, 開始時間 = GETDATE() 関数, 終了時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, GETDATE() AS today, DATEDIFF(year, GETDATE(), ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, today = DateTime.Now, value = (System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "year", DateTime.Now, x1.shippeddate)) No16_5.linq DATEDIFF (Northwind データベース ) 日付要素 = year, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, RequiredDate, DATEDIFF(year, ShippedDate, RequiredDate) AS value 11

FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.requireddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "year", x1.shippeddate, x1.requireddate)) No16_6.linq DATEDIFF 日付要素 = month, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 SELECT ord_date, DATEDIFF(month, ord_date, '1990-01-01') AS diff FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, diff = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "month", x1.ord_date, new DateTime(1990, 01, 01)) No16_7.linq DATEDIFF 日付要素 = day, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 SELECT ord_date, DATEDIFF(day, ord_date, '1990-01-01') AS diff FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, 12

diff = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", x1.ord_date, new DateTime(1990, 01, 01)) No16_8.linq DATEDIFF (Northwind データベース ) 日付要素 = month, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = GETDATE() 関数 SELECT ShippedDate, GETDATE() AS today, DATEDIFF(month, ShippedDate, GETDATE()) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, today = DateTime.Now, value = (System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "month", x1.shippeddate, DateTime.Now)) No17.linq DATENAME 日付要素 = month, 時間 = NULL 禁止 (datetime 型 ) SELECT ord_date, DATENAME(month, ord_date) AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DateName( "month", x1.ord_date) No18.linq 13

DATENAME 日付要素 = month, 時間 = 文字列リテラルの時間 SELECT ord_date, DATENAME(month, '1994-10-14') AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DateName( "month", new DateTime(1994, 10, 14)) No18_2.linq DATENAME 日付要素 = year, 時間 = NULL 禁止 (datetime 型 ) SELECT ord_date, DATENAME(year, ord_date) AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DateName( "year", x1.ord_date) No18_3.linq DATENAME 日付要素 = day, 時間 = NULL 禁止 (datetime 型 ) SELECT ord_date, DATENAME(day, ord_date) AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") 14

x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DateName( "day", x1.ord_date) No18_4.linq DATENAME (Northwind データベース ) 日付要素 = month, 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, DATENAME(month, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DateName( "month", x1.shippeddate)) No18_5.linq DATENAME (Northwind データベース ) 日付要素 = year, 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, DATENAME(year, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DateName( "year", x1.shippeddate)) No18_6.linq DATENAME (Northwind データベース ) 日付要素 = day, 時間 = NULL 許容 (datetime 型 ) 15

SELECT ShippedDate, DATENAME(day, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DateName( "day", x1.shippeddate)) No19.linq DATEPART 日付要素 = month, 時間 = NULL 禁止 (datetime 型 ) SELECT ord_date, DATEPART(month, ord_date) AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "month", x1.ord_date) No20.linq DATEPART 日付要素 = month, 時間 = 文字列リテラルの時間 SELECT ord_date, DATEPART(month, '1994-10-14') AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "month", new DateTime(1994, 10, 14)) 16

No20_2.linq DATEPART 日付要素 = year, 時間 = NULL 禁止 (datetime 型 ) SELECT ord_date, DATEPART(year, ord_date) AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "year", x1.ord_date) No20_3.linq DATEPART 日付要素 = day, 時間 = NULL 禁止 (datetime 型 ) SELECT ord_date, DATEPART(day, ord_date) AS namae FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, namae = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "day", x1.ord_date) No20_4.linq DATEPART (Northwind データベース ) 日付要素 = month, 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, DATEPART(month, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 17

Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DatePart( "month", x1.shippeddate)) No21.linq DAY NULL 禁止 (datetime 型 ) SELECT ord_date, DAY(ord_date) AS hinichi FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, hinichi = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "day", x1.ord_date) No22.linq DAY 文字列リテラルの時間 SELECT ord_date, DAY('1994-09-14') AS hinichi FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, hinichi = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "day", new DateTime(1994, 09, 14)) 18

No22_2.linq DAY (Northwind データベース )NULL 許容 (datetime 型 ) SELECT ShippedDate, DAY(ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DatePart( "day", x1.shippeddate)) No23.linq FLOOR NULL 許容 (money 型 ) SELECT price, FLOOR(price) AS price1 FROM WHERE pub_id = '0736'.Where(x1 => x1.pub_id == "0736") x1.price, price1 = ((decimal?)math.floor((decimal)(x1.price))) No23_2.linq FLOOR NULL 禁止 (decimal(4, 2) 型 ) SELECT discount1, FLOOR(discount1) AS price LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount1, 19

price = Math.Floor(x1.discount1) No24.linq GETDATE なし SELECT ord_date, GETDATE() AS today FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, today = System.Data.Objects.SqlClient.SqlFunctions.GetDate() No25.linq ISDATE NULL 禁止 (datetime 型 ) SELECT ord_date, ISDATE(ord_date) AS daytime FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と同一 */ sales.where(x1 => x1.stor_id == "6380") x1.ord_date, daytime = 1 No25_2.linq ISDATE (Northwind データベース )NULL 許容 (datetime 型 ) SELECT ShippedDate, ISDATE(ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 20

LINQ コード /* LINQ to SQL と同一 */ Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = x1.shippeddate == null? 0 : 1 No25_3.linq ISDATE 時間形式の文字列リテラルと非時間形式の文字列 SELECT title_id, ISDATE('1900/01/01') AS isdate1, ISDATE(pub_id) AS isdate2 FROM WHERE title_id like 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, isdate1 = System.Data.Objects.SqlClient.SqlFunctions.IsDate("1900/01/01"), isdate2 = System.Data.Objects.SqlClient.SqlFunctions.IsDate(x1.pub_id) No25_4.linq ISDATE NULL 許容 (char 型 ) SELECT stor_id, ISDATE(stor_id) AS isdate1 x1.stor_id, isdate1 = System.Data.Objects.SqlClient.SqlFunctions.IsDate(x1.stor_id) No25_5.linq 21

ISDATE 時間形式の整数リテラル SELECT title_id, ISDATE(19000101) AS isdate1, ISDATE(19000132) AS isdate2, ISDATE(1900) AS isdate3 FROM WHERE title_id like 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, isdate1 = System.Data.Objects.SqlClient.SqlFunctions.IsDate( System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal?)(19000101))), isdate2 = System.Data.Objects.SqlClient.SqlFunctions.IsDate( System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal?)(19000132))), isdate3 = System.Data.Objects.SqlClient.SqlFunctions.IsDate( System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal?)(1900))) No25_6.linq ISDATE NULL 許容 (int 型 ) SELECT title_id, royalty, ISDATE(royalty) AS isdate1 FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.royalty, isdate1 = System.Data.Objects.SqlClient.SqlFunctions.IsDate( System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal?)(x1.royalty))) No25_7.linq ISDATE NULL 許容 (money 型 ) 22

SELECT title_id, price, ISDATE(price) AS isdate1 FROM WHERE title_id like 'MC%' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.price, isdate1 = 0 No26.linq ISNULL NULL 許容 (money 型 ) が NULL なら 0 に置換する及び NULL 許容 (int 型 ) が NULL なら 0 に置換する SELECT title_id, ISNULL(price, 0) AS price, ISNULL(royalty, 0) AS royalty FROM WHERE title_id = 'MC3026' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.title_id == "MC3026") x1.title_id, price = x1.price!= null? x1.price : 0, royalty = x1.royalty!= null? x1.royalty : 0 No26_2.linq ISNULL No26.linq で値が NULL でないものを含むようにする SELECT title_id, ISNULL(price, 0) AS price, ISNULL(royalty, 0) AS royalty FROM WHERE title_id LIKE 'MC%' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, price = x1.price!= null? x1.price : 0, 23

royalty = x1.royalty!= null? x1.royalty : 0 No27.linq ISNUMERIC NULL 許容 (money 型 ) と NULL 許容 (int 型 ) SELECT title_id, ISNUMERIC(price) AS price, ISNUMERIC(royalty) AS royalty FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.title_id == "BU1032") x1.title_id, price = x1.price == null? 0 : 1, royalty = x1.royalty == null? 0 : 1 No27_2.linq ISNUMERIC NULL 禁止 (decimal(4, 2) 型 ) SELECT discount1, ISNUMERIC(discount1) AS value LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount1, value = 1 No27_3.linq ISNUMERIC NULL 許容 (char 型 ) SELECT stor_id, ISNUMERIC(stor_id) AS value 24

x1.stor_id, value = System.Data.Objects.SqlClient.SqlFunctions.IsNumeric(x1.stor_id) No27_4.linq ISNUMERIC NULL 禁止 (char 型 ) SELECT pub_id, ISNUMERIC(pub_id) AS value FROM employees WHERE emp_id LIKE 'A%' employees.where(x1 => (x1.emp_id).startswith("a")) x1.pub_id, value = System.Data.Objects.SqlClient.SqlFunctions.IsNumeric(x1.pub_id) No27_5.linq ISNUMERIC NULL 禁止 (char 型 ) と小数部を持つ文字列リテラルの数値 SELECT pub_id, ISNUMERIC(pub_id) AS value1, isnumeric('12.3') AS value2 FROM employees WHERE emp_id LIKE 'A%' employees.where(x1 => (x1.emp_id).startswith("a")) x1.pub_id, value1 = System.Data.Objects.SqlClient.SqlFunctions.IsNumeric(x1.pub_id), value2 = System.Data.Objects.SqlClient.SqlFunctions.IsNumeric("12.3") No27_6.linq ISNUMERIC NULL 禁止 (char 型 ) と NULL 禁止 (datetime 型 ) 25

SELECT pub_id, ISNUMERIC(pub_id) AS value1, ISNUMERIC(hire_date) AS value2 FROM employees WHERE emp_id LIKE 'A%' employees.where(x1 => (x1.emp_id).startswith("a")) x1.pub_id, value1 = System.Data.Objects.SqlClient.SqlFunctions.IsNumeric(x1.pub_id), value2 = 0 No28.linq LEFT NULL 禁止 (varchar 型 ) から 2 文字分 SELECT title_id, LEFT(title_id, 2) AS topname FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.title_id == "BU1032") x1.title_id, topname = (x1.title_id).substring(0, (int)(2)) No28_2.linq LEFT NULL 許容 (char 型 ) から 2 文字分 SELECT stor_id, LEFT(stor_id, 2) AS value LINQ コード /* LINQ to SQL と同一 */ x1.stor_id, value = (x1.stor_id).substring(0, (int)(2)) 26

No28_3.linq LEFT NULL 禁止 (varchar 型 ) から NULL 許容 (smallint 型 ) 文字分 SELECT discounttype, lowqty, LEFT(discounttype, lowqty) AS value LINQ コード /* LINQ to SQL と同一 */ x1.discounttype, x1.lowqty, value = (x1.discounttype).substring(0, (int)(x1.lowqty)) No28_4.linq LEFT NULL 許容 (char 型 ) から NULL 許容 (smallint 型 ) 文字分 SELECT stor_id, lowqty, LEFT(stor_id, lowqty) AS value LINQ コード /* LINQ to SQL と同一 */ x1.stor_id, x1.lowqty, value = (x1.stor_id).substring(0, (int)(x1.lowqty)) No29.linq LEFT 文字列リテラル SELECT title_id, LEFT('BU1032', 2) AS topname FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.title_id == "BU1032") x1.title_id, topname = ("BU1032").Substring(0, (int)(2)) 27

No30.linq LEN NULL 禁止 (char 型 ) SELECT title_id, LEN(type) AS length FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.title_id == "BU1032") x1.title_id, length = (x1.type).length No30_2.linq LEN NULL 許容 (char 型 ) SELECT stor_id, LEN(stor_id) AS length x1.stor_id, length = ((int?)(x1.stor_id).length) No31.linq LOWER NULL 禁止 (varchar 型 ) SELECT title_id, LOWER(title1) AS komoji FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と異なる (title1 のみ ) */.Where(x1 => x1.title_id == "BU1032") 28

x1.title_id, komoji = (x1.title1).tolower() No31_2.linq LOWER NULL 許容 (char 型 ) SELECT state, LOWER(state) AS komoji FROM publishers LINQ コード /* LINQ to SQL と同一 */ publishers x1.state, komoji = (x1.state).tolower() No32.linq LTRIM NULL 禁止 (varchar 型 ) SELECT title_id, LTRIM(title1) AS trim FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と異なる (title1 のみ ) */.Where(x1 => x1.title_id == "BU1032") x1.title_id, trim = (x1.title1).trimstart() No32_2.linq LTRIM NULL 許容 (char 型 ) SELECT stor_id, LTRIM(stor_id) AS trim 29

x1.stor_id, trim = ((x1.stor_id).trimstart()) No33.linq MAX NULL 許容 (money 型 ) SELECT pub_id, MAX(price) AS maxprice FROM GROUP BY pub_id LINQ コード /* LINQ to SQL と同一 */.GroupBy(x1 => newgrkey1 = x1.pub_id}).select(g1 => new pub_id = g1.key.grkey1, maxprice = g1.max(x1 => x1.price) No34.linq MIN NULL 許容 (money 型 ) SELECT pub_id, MIN(price) AS minprice FROM GROUP BY pub_id LINQ コード /* LINQ to SQL と同一 */.GroupBy(x1 => newgrkey1 = x1.pub_id}).select(g1 => new pub_id = g1.key.grkey1, minprice = g1.min(x1 => x1.price) No35.linq MONTH NULL 禁止 (datetime 型 ) 30

SELECT ord_date, MONTH(ord_date) AS hinichi FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, hinichi = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "month", x1.ord_date) No36.linq MONTH 文字列リテラルで表した時間 SELECT ord_date, MONTH('1994-09-14') AS hinichi FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, hinichi = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "month", new DateTime(1994, 09, 14)) No36_2.linq MONTH (Northwind データベース )NULL 許容 (datetime 型 ) SELECT ShippedDate, MONTH(ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DatePart( "month", x1.shippeddate)) 31

No37.linq NULLIF NULL 禁止 (tinyint 型 ) と NULL 禁止 (tinyint 型 ) を比較する SELECT job_id, NULLIF(min_lvl, max_lvl) AS same FROM jobs WHERE job_id <= 5 LINQ コード /* LINQ to SQL と同一 */ jobs.where(x1 => x1.job_id <= 5) x1.job_id, same = x1.min_lvl == x1.max_lvl? null : (int?)(x1.min_lvl) No37_2.linq NULLIF NULL 禁止 (decimal(4, 2) 型 ) と小数部を持つ数値リテラルを比較する SELECT discount1, NULLIF(discount1, 10.5) AS same LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount, same = x1.discount1 == 10.5m? null : (decimal?)(x1.discount1) No37_3.linq NULLIF NULL 禁止 (char 型 ) と文字列リテラルを比較する SELECT type, NULLIF(type, 'mod_cook') AS same FROM WHERE title_id LIKE 'MC%' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) 32

x1.type, same = x1.type == "mod_cook"? null : x1.type No37_4.linq NULLIF No37_2.linq の引数を入れ替える SELECT discount1, NULLIF(10.5, discount1) AS same LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount1, same = 10.5m == x1.discount1? null : (decimal?)(10.5m) No37_5.linq NULLIF No37_3.linq の引数を入れ替える SELECT type, NULLIF('mod_cook', type) AS same FROM WHERE title_id LIKE 'MC%' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) x1.type, same = "mod_cook" == x1.type? null : "mod_cook" No37_6.linq NULLIF NULL 許容 (int 型 ) と整数リテラルを比較する SELECT royalty, NULLIF(royalty, 12) AS same FROM WHERE title_id LIKE 'MC%' 33

LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) x1.royalty, same = x1.royalty == 12? null : x1.royalty No37_7.linq NULLIF NULL 許容 (money 型 ) と小数部を持つ数値リテラルを比較する SELECT price, NULLIF(price, 19.99) AS same FROM WHERE title_id LIKE 'MC%' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) x1.price, same = x1.price == 19.99m? null : x1.price No37_8.linq NULLIF NULL 許容 (money 型 ) と NULL 許容 (money 型 ) を比較する SELECT price, advance, NULLIF(price, advance) AS same FROM WHERE title_id LIKE 'MC%' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id).startswith("mc")) x1.price, x1.advance, same = x1.price == x1.advance? null : x1.price No37_9.linq 34

NULLIF NULL 許容 (char 型 ) と文字列リテラルを比較する SELECT stor_id, NULLIF(stor_id, '8042') AS same LINQ コード /* LINQ to SQL と同一 */ x1.stor_id, same = x1.stor_id == "8042"? null : x1.stor_id No37_10.linq NULLIF (Northwind データベース )NULL 許容 (datetime 型 ) と NULL 許容 (datetime 型 ) を比較する SELECT ShippedDate, OrderDate, NULLIF(ShippedDate, Orderdate) AS same FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 LINQ コード /* LINQ to SQL と同一 */ Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.orderdate, same = x1.shippeddate == x1.orderdate? null : x1.shippeddate No37_11.linq NULLIF No37_10.linq の引数を入れ替える SELECT OrderDate, ShippedDate, NULLIF(Orderdate, ShippedDate) AS same FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 LINQ コード /* LINQ to SQL と同一 */ Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.orderdate, x1.shippeddate, same = x1.orderdate == x1.shippeddate? null : x1.orderdate 35

No38.linq REPLACE 対象文字列 = NULL 禁止 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル SELECT type, REPLACE(type, 'cook', 'COOK') AS bigletter FROM WHERE type LIKE '%cook' LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.type).endswith("cook")) x1.type, bigletter = (x1.type).replace("cook", "COOK") No38_2.linq REPLACE 対象文字列 = NULL 許容 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル SELECT stor_id, REPLACE(stor_id, '04', '05') AS value LINQ コード /* LINQ to SQL と同一 */ x1.stor_id, value = (x1.stor_id).replace("04", "05") No38_3.linq REPLACE 対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = NULL 許容 (char 型 ), 置換文字列 = 文字列リテラル SELECT discounttype, stor_id, REPLACE(discounttype, stor_id, '12') AS value 36

LINQ コード /* LINQ to SQL と同一 */ x1.discounttype, x1.stor_id, value = (x1.discounttype).replace(x1.stor_id, "12") No38_4.linq REPLACE 対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = NULL 許容 (char 型 ) SELECT discounttype, stor_id, REPLACE(discounttype, 'Discount', stor_id) AS value LINQ コード /* LINQ to SQL と同一 */ x1.discounttype, x1.stor_id, value = (x1.discounttype).replace("discount", x1.stor_id) No39.linq REPLICATE NULL 禁止 (char 型 ) を整数リテラル回数繰り返す SELECT type, REPLICATE(type, 2) AS repeat FROM WHERE type LIKE '%cook'.where(x1 => (x1.type).endswith("cook")) x1.type, repeat = System.Data.Objects.SqlClient.SqlFunctions.Replicate(x1.type, 2) No39_2.linq 37

REPLICATE NULL 禁止 (varchar 型 ) を NULL 禁止 (smallint 型 ) 回数繰り返す SELECT lname, job_id, REPLICATE(lname, job_id) AS repeat FROM employees WHERE emp_id = 'PTC11962M' employees.where(x1 => x1.emp_id == "PTC11962M") x1.lname, x1.job_id, repeat = System.Data.Objects.SqlClient.SqlFunctions.Replicate( x1.lname, x1.job_id) No39_3.linq REPLICATE NULL 許容 (char 型 ) を整数リテラル回数繰り返す SELECT stor_id, REPLICATE(stor_id, 2) AS repeat x1.stor_id, repeat = System.Data.Objects.SqlClient.SqlFunctions.Replicate( x1.stor_id, 2) No39_4.linq REPLICATE NULL 禁止 (varchar 型 ) を NULL 許容 (int 型 ) 回数繰り返す SELECT type, royalty, REPLICATE(type, royalty) AS repeat FROM WHERE title_id = 'BU1032'.Where(x1 => x1.title_id == "BU1032") x1.type, 38

x1.royalty, repeat = (System.Data.Objects.SqlClient.SqlFunctions.Replicate( x1.type, x1.royalty)) No39_5.linq REPLICATE NULL 許容 (char 型 ) を NULL 許容 (int 型 ) 回数繰り返す SELECT pub_id, royalty, REPLICATE(pub_id, royalty) AS repeat FROM WHERE title_id = 'BU1032'.Where(x1 => x1.title_id == "BU1032") x1.pub_id, x1.royalty, repeat = (System.Data.Objects.SqlClient.SqlFunctions.Replicate( x1.pub_id, x1.royalty)) No40.linq REVERSE NULL 禁止 (varchar 型 ) SELECT type, REVERSE(type) AS hanntai FROM WHERE type LIKE '%cook'.where(x1 => (x1.type).endswith("cook")) x1.type, hanntai = EntityFunctions.Reverse(x1.type) No40_2.linq REVERSE NULL 許容 (varchar 型 ) 39

SELECT stor_id, REVERSE(stor_id) AS hanntai x1.stor_id, hanntai = (EntityFunctions.Reverse(x1.stor_id)) No41.linq RIGHT NULL 禁止 (varchar 型 ) から整数リテラル文字分 SELECT title_id, RIGHT(title_id, 4) AS lastname FROM WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.title_id == "BU1032") x1.title_id, lastname = (x1.title_id).substring( (x1.title_id).length - (int)(4), (int)(4)) No41_2.linq RIGHT NULL 許容 (char 型 ) から整数リテラル文字分 SELECT stor_id, RIGHT(stor_id, 2) AS value LINQ /* LINQ to SQL と同一 */ x1.stor_id, value = (x1.stor_id).substring( (x1.stor_id).length - (int)(2), (int)(2)) 40

No41_3.linq RIGHT NULL 許容 (char 型 ) から NULL 許容 (smallint 型 ) 文字分 SELECT stor_id, lowqty, RIGHT(stor_id, lowqty) AS value LINQ コード /* LINQ to SQL と同一 */ x1.stor_id, x1.lowqty, value = (x1.stor_id).substring( (x1.stor_id).length - (int)(x1.lowqty), (int)(x1.lowqty)) No42.linq ROUND 対象数 = NULL 許容 (money 型 ), 小数桁 = 整数リテラル SELECT price, ROUND(price, 1, 1) AS marume FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.price, marume = (EntityFunctions.Truncate(x1.price, 1)) No42_2.linq ROUND 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = 整数リテラル SELECT discount1, ROUND(discount1, 1) AS marume x1.discount1, marume = Math.Round((decimal)x1.discount1, 1) 41

No42_3.linq ROUND 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT discount1, lowqty, ROUND(discount1, lowqty / 100) AS marume x1.discount, x1.lowqty, marume = ((decimal?)math.round((decimal)x1.discount1, (int)x1.lowqty / 100)) No42_4.linq ROUND 対象数 = NULL 許容 (money 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT price, royalty, ROUND(price, royalty / 100) AS marume FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.price, x1.royalty, marume = ((decimal?)math.round((decimal)x1.price, (int)x1.royalty / 100)) No43.linq RTRIM NULL 禁止 (varchar 型 ) SELECT title_id, RTRIM(title1) AS trim FROM WHERE title_id = 'BU1032' 42

.Where(x1 => x1.title_id == "BU1032") x1.title_id, trim = (x1.title1).trimend() No43_2.linq RTRIM NULL 許容 (char 型 ) SELECT stor_id, RTRIM(stor_id) AS trim x1.stor_id, trim = (x1.stor_id).trimend() No44.linq SIGN NULL 許容 (money 型 ) SELECT price, SIGN(price) AS hugou FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.price, hugou = (System.Data.Objects.SqlClient.SqlFunctions.Sign(x1.price)) No44_2.linq SIGN NULL 禁止 (decimal(4, 2) 型 ) SELECT discount1, SIGN(discount1) AS hugou 43

x1.discount1, hugou = (System.Data.Objects.SqlClient.SqlFunctions.Sign(x1.discount1)) No45.linq SPACE 整数リテラル SELECT au_id, au_lname + SPACE(5) + au_fname AS namae FROM authors WHERE au_id = '172-32-1176' authors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, namae = x1.au_lname + System.Data.Objects.SqlClient.SqlFunctions.Space(5) + x1.au_fname No45_2.linq SPACE NULL 許容 (int 型 ) SELECT title_id, pub_id, royalty, title_id + SPACE(royalty) + pub_id AS value FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.pub_id, x1.royalty, value = x1.title_id + (System.Data.Objects.SqlClient.SqlFunctions.Space( x1.royalty)) + x1.pub_id 44

No46.linq STR 対象数 = NULL 許容 (money 型 ), 小数桁 = 整数リテラル SELECT price, STR(price, 4, 1) AS marume FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.price, marume = (System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)x1.price, 4, 1)) No46_2.linq STR No46.linq では NULL 無しなので NULL を含むようにする SELECT price, STR(price, 4, 1) AS marume FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id)startswith("mc")).tolist() x1.price, marume = (System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)x1.price, 4, 1)) No46_3.linq STR 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = 整数リテラル SELECT discount1, STR(discount1, 4, 1) AS marume 45

x1.discount1, marume = (System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)x1.discount1, 4, 1)) No46_4.linq STR 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT discount1, lowqty, STR(discount1, 4, lowqty / 100) AS marume x1.discount1, x1.lowqty, marume = (System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)x1.discount1, 4, x1.lowqty / 100)) No46_5.linq STR 対象数 = NULL 許容 (money 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT price, royalty, STR(price, 4, royalty / 10) AS marume FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.price, x1.royalty, marume = (System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)x1.price, 4, x1.royalty / 10)) No47.linq 46

STUFF 対象文字列 = NULL 禁止 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル SELECT type, STUFF(type, 5, 4, 'NESS') AS hennkei FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.type, hennkei = System.Data.Objects.SqlClient.SqlFunctions.Stuff( x1.type, 5, 4, "NESS") No47_2.linq STUFF 対象文字列 = NULL 許容 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル SELECT stor_id, STUFF(stor_id, 2, 2, '??') AS hennkei x1.stor_id, hennkei = System.Data.Objects.SqlClient.SqlFunctions.Stuff( x1.stor_id, 2, 2, "??") No47_3.linq STUFF 対象文字列 = NULL 禁止 (varchar 型 ), 対象位置 = NULL 許容 (int 型 ), 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル SELECT title_id, royalty, STUFF(title_id, royalty / 10 + 1, 4, '????') AS hennkei FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) 47

x1.title_id, x1.royalty, hennkei = (System.Data.Objects.SqlClient.SqlFunctions.Stuff( x1.title_id, x1.royalty / 10 + 1, 4, "????")) No47_4.linq STUFF 対象文字列 = NULL 禁止 (varchar 型 ), 対象位置 = 整数リテラル, 削除文字数 = NULL 許容 (int 型 ), 挿入文字列 = 文字列リテラル SELECT title_id, royalty, STUFF(title_id, 3, royalty / 10, '????') AS hennkei FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.royalty, hennkei = (System.Data.Objects.SqlClient.SqlFunctions.Stuff( x1.title_id, 3, x1.royalty / 10, "????")) No47_5.linq STUFF 対象文字列 = NULL 禁止 (char 型 ), 対象位置 = NULL 許容 (int 型 ), 削除文字数 = NULL 許容 (int 型 ), 挿入文字列 = 文字列リテラル SELECT discounttype, highqty, lowqty, STUFF(discounttype, highqty / 100, lowqty / 100, '?') AS hennkei x1.discounttype, x1.highqty, x1.lowqty, hennkei = (System.Data.Objects.SqlClient.SqlFunctions.Stuff( x1.discounttype, x1.highqty / 100, x1.lowqty / 100, "?")) 48

No47_6.linq STUFF 対象文字列 = NULL 禁止 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = NULL 許容 (char 型 ) SELECT discounttype, stor_id, STUFF(discounttype, 2, 2, stor_id) AS hennkei x1.discounttype, x1.stor_id, hennkei = System.Data.Objects.SqlClient.SqlFunctions.Stuff( x1.discounttype, 2, 2, x1.stor_id) No48.linq SUBSTRING 対象文字列 = NULL 禁止 (char 型 ), 開始位置 = 整数リテラル, 文字数 = 整数リテラル SELECT type, SUBSTRING(type, 5, 4) AS sentou FROM WHERE type = 'business' LINQ コード /* LINQ to SQL と同一 */.Where(x1 => x1.type == "business") x1.type, sentou = (x1.type).substring(5-1, 4) No48_2.linq SUBSTRING 対象文字列 = NULL 許容 (char 型 ), 開始位置 = 整数リテラル, 文字数 = 整数リテラル SELECT stor_id, SUBSTRING(stor_id, 2, 2) AS sentou 49

LINQ コード /* LINQ to SQL と同一 */ x1.stor_id, sentou = (x1.stor_id).substring(2-1, 2) No48_3.linq SUBSTRING 対象文字列 = NULL 禁止 (varchar 型 ), 開始位置 = NULL 許容 (int 型 ), 文字数 = 整数リテラル SELECT title_id, royalty, SUBSTRING(title_id, royalty / 10, 4) AS value FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.royalty, value = ((x1.title_id).substring((int)x1.royalty / 10-1, 4)) No48_4.linq SUBSTRING 対象文字列 = NULL 禁止 (char 型 ), 開始位置 = 整数リテラル, 文字数 = NULL 許容 (int 型 ) SELECT title_id, royalty, SUBSTRING(title_id, 2, royalty / 10) AS value FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.royalty, value = ((x1.title_id).substring(2-1, (int)x1.royalty / 10)) 50

No48_5.linq SUBSTRING 対象文字列 = NULL 禁止 (char 型 ), 開始位置 = NULL 許容 (int 型 ), 文字数 = NULL 許容 (int 型 ) SELECT title_id, royalty, SUBSTRING(title_id, royalty / 10, royalty / 10) AS value FROM WHERE title_id LIKE 'MC%'.Where(x1 => (x1.title_id).startswith("mc")) x1.title_id, x1.royalty, value = ((x1.title_id).substring((int)x1.royalty / 10-1, (int)x1.royalty / 10)) No49.linq SUM NULL 許容 (money 型 ) SELECT pub_id, SUM(price) AS price FROM GROUP BY pub_id HAVING pub_id = '0736' LINQ コード /* LINQ to SQL と同一 */.GroupBy(x1 => newgrkey1 = x1.pub_id}).where(g1 => g1.key.grkey1 == "0736").Select(g1 => new pub_id = g1.key.grkey1, price = g1.sum(x1 => x1.price) No50.linq UPPER NULL 禁止 (varchar 型 ) SELECT title_id, UPPER(title1) AS oomoji FROM 51

WHERE title_id = 'BU1032' LINQ コード /* LINQ to SQL と異なる (title1 のみ ) */.Where(x1 => x1.title_id == "BU1032") x1.title_id, oomoji = (x1.title1).toupper() No50_2.linq UPPER NULL 許容 (char 型 ) SELECT state, UPPER(state) AS komoji FROM publishers LINQ コード /* LINQ to SQL と同一 */ publishers x1.state, komoji = (x1.state).toupper() No51.linq YEAR NULL 禁止 (datetime 型 ) SELECT ord_date, YEAR(ord_date) AS nenn FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, nenn = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "year", x1.ord_date) No52.linq 52

YEAR 文字列リテラルで表した時間 SELECT ord_date, YEAR('1994-09-14') AS hinichi FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, hinichi = System.Data.Objects.SqlClient.SqlFunctions.DatePart( "year", new DateTime(1994, 09, 14)) No52_2.linq YEAR (Northwind データベース )NULL 許容 (datetime 型 ) SELECT ShippedDate, YEAR(ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (System.Data.Objects.SqlClient.SqlFunctions.DatePart( "year", x1.shippeddate)) 53