関数サンプル1

Similar documents
関数サンプル1

関数サンプル2

関数サンプル2

関数サンプル2

基本サンプル

結合サンプル

基本サンプル

基本サンプル

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

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

: ORDER BY

OFISTAR S3100取扱説明書

Microsoft Word - sample_adv-programming.docx

Chapter Two

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

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

Chapter Two

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

早分かりS2Dao

Microsoft PowerPoint pptx

FormPat インポート設定ガイド

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

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

PowerPoint プレゼンテーション

Microsoft PowerPoint - db03-5.ppt

ODBC Driver for 4D Server

tkk0408nari

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

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

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

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

Twitterクライアントに学ぶASP.NETアプリ

Dolteng Scaffoldに対する機能追加とマスタ-ディテールScaffoldの紹介

answer.indd

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

MCDRS_tutorial_advanced_v1.pptx

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

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

Microsoft Word - SQL.rtf

PSCHG000.PS

,, create table drop table alter table

d_appendixB-asp10appdev.indd

スライド 1

Basic descriptive statistics

標準化 補足資料

データベースS

H8.6 P

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

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

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

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

防災マップ作成システムの開発業務基本設計書

122.pdf


PowerPoint プレゼンテーション

日本オラクル株式会社

スライド 1

1.SqlCtl クラスリファレンス SqlCtl クラスのリファレンスを以下に示します メソッドの実行中にエラーが発生した場合は標準エラー出力にメッセージを出力します (1)Connect() メソッド データベースへ connect 要求を行います boolean Connect(String

講習No.9

はじめに コースの概要と目的条件分岐の方法や複雑な集計の手法など SQL のコーディングの幅を広げるためのテクニックについて説明します また パフォーマンスを考慮した記述方法や正しい結果を取得するための記述方法などについても あわせて説明します 本コースでは 実践的な SQL の記述手法を広く浅く紹

2003年度 情報処理概論

目次 概要.. 3 演習 1: 静的 PARALLEL ヘルパークラスを使用した既存のアルゴリズムの並列化 6 タスク 1 実行時間の長いサービスを並列化する 6 演習 2: 並列タスクの作成と実行. 23 タスク 1 並列タスクを特別な設定なしに実行する 23 タスク 2 Wait() メソッドと

MICROLINK マリオネット 操作説明書

10-C.._241_266_.Z

100号表紙

s

Exam : 1z0-882 日本語 (JPN) Title : Oracle Certified Professional, MySQL 5.6 Developer Vendor : Oracle Version : DEMO 1 / 4 Get Latest & Valid 1z0-882-JP

講習No.8

Microsoft Word - PHP_SQLServer2012

第12回 モナドパーサ

研究紀要 第5号



デジタル表現論・第6回

PowerRDBconnector説明書(SQLServer編)

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

HULFT-DataMagic for Windows Ver レベルアップ詳細情報 < 製品一覧 > 製品名 バージョン HULFT-DataMagic for Windows HULFT-DataMagic コード変換 オプション for Windows HU

Oracle Rdb: PowerPoint Presentation

HIAC PODS plus_Modbus_J.indd

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

<31332D97708CEA89F090E02E6D6364>


1

第18回海岸シンポジウム報告書


3



液晶ディスプレイ取説TD-E432/TD-E502/TD-E552/TD-E652/TD-E432D/TD-E502D


000-.\..



スタイルシェルフ 〈クローク収納プラン〉

2

マイスタープロジェクト 推奨仕様

(718)

() () ()


1 C 2 C 3 C 4 C 1 C 2 C 3 C

Transcription:

SQLCompiler for LINQ(C#) のサンプル (LINQPad 用 LINQ to Entities 関数サンプル 1) 本サンプルで使用した Visual Studio プロジェクトの pubs データベースの概念モデルは 以下のテーブル名とカラム名が 直接 SQL Sever へクエリする場合と異なるので が補正されています テーブル名が異なるもの employee employees royshed roysheds titleauthor titleauthors カラム名が異なるもの.discount.discount1.title.title1 Northwind データベースについては 本サンプルで使用しているテーブル名とカラム名は 概念モデルと一致しています < 一覧表 > リンク No1.linq ABS NULL 許容 (smallint 型 ) と NULL 禁止 (decimal 型 ) 表 1 No1_2.linq ABS NULL 許容 (smallint 型 ) と NULL 禁止 (decimal 型 ):NULL 出力表 1_2 No1_3.linq ABS NULL 許容 (smallint 型 ) と NULL 禁止 (decimal 型 ):1 加算表 1_3 No2.linq ABS 数値リテラル表 2 No3.linq ASCII NULL 禁止 (varchar 型 ) 表 3 No4.linq ASCII 文字列リテラル表 4 N03_2.linq ASCII NULL 許容 (char 型 ) 表 3_2 No5.linq AVG NULL 許容 (money 型 ) 表 5 No6.linq NULL 許容 (int 型 ) を varchar 型に変換する表 6 No6_2.linq NULL 許容 (int 型 ) を varchar 型に変換する :NULL 出力表 6_2 No6_3.linq NULL 禁止 (tinyint 型 ) を varchar 型に変換する表 6_3 No7.linq NULL 許容 (int 型 ) を decimal(5, 2) 型に変換する表 7 No7_2.linq NULL 禁止 (tinyint 型 ) を decimal(5, 2) 型に変換する表 7_2 No7_3.linq NULL 許容 (int 型 ) を decimal(5, 2) 型に変換する :NULL 出力表 7_3 No7_4.linq NULL 許容 (int 型 ) を decimal(5) 型に変換する表 7_4 No7_5.linq NULL 許容 (int 型 ) を decimal 型に変換する表 7_5 No7_6.linq NULL 禁止 (tinyint 型 ) を decimal(5) 型に変換する表 7_6 No7_7.linq NULL 禁止 (tinyint 型 ) を decimal 型に変換する表 7_7 No7_8.linq NULL 許容 (int 型 ) を int 型に変換する表 7_8 No7_9.linq NULL 禁止 (tinyint 型 ) を int 型に変換する表 7_9 1

No7_10.linq NULL 許容 (int 型 ) を money 型に変換する 表 7_10 No7_11.linq NULL 禁止 (tinyint 型 ) を money 型に変換する 表 7_11 No7_12.linq NULL 許容 (int 型 ) を datetime 型に変換する 表 7_12 No7_13.linq NULL 禁止 (tinyint 型 ) を datetime 型に変換する 表 7_13 No7_14.linq NULL 禁止 (decimal(4, 2) 型 ) を int 型に変換する 表 7_14 No7_15.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5, 1) 型に変換する 表 7_15 No7_16.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5) 型に変換する 表 7_16 No7_17.linq NULL 禁止 (decimal(4, 2) 型 ) を money 型に変換する 表 7_17 No7_18.linq NULL 禁止 (decimal(4, 2) 型 ) を varchar 型に変換する 表 7_18 No7_19.linq NULL 禁止 (decimal(4, 2) 型 ) を datetime 型に変換する 表 7_19 No7_20.linq NULL 許容 (money 型 ) を int 型に変換する 表 7_20 No7_21.linq NULL 許容 (money 型 ) を decimal(5, 1) 型に変換する 表 7_21 No7_22.linq NULL 許容 (money 型 ) を decimal(5) 型に変換する 表 7_22 No7_23.linq NULL 許容 (money 型 ) を money 型に変換する 表 7_23 No7_24.linq NULL 許容 (money 型 ) を varchar 型に変換する 表 7_24 No7_25.linq NULL 許容 (money 型 ) を datetime 型に変換する 表 7_25 No7_26.linq NULL 許容 (char 型 ) を int 型に変換する 表 7_26 No7_27.linq NULL 許容 (char 型 ) を int 型に変換する :1 加算 表 7_27 No7_28.linq NULL 許容 (char 型 ) を decial(5, 1) 型に変換する 表 7_28 No7_29.linq NULL 禁止 (char 型 ) を int 型に変換する 表 7_29 No7_30.linq NULL 許容 (char 型 ) を decimal(5) 型に変換する 表 7_30 No7_31.linq NULL 禁止 (char 型 ) を decimal(5, 1) 型に変換する 表 7_31 No7_32.linq NULL 許容 (char 型 ) を money 型に変換する 表 7_32 No7_33.linq NULL 禁止 (char 型 ) を money 型に変換する 表 7_33 No7_34.linq NULL 許容 (char 型 ) を varchar 型に変換する 表 7_34 No7_35.linq NULL 禁止 (char 型 ) を varchar 型に変換する 表 7_35 No7_36.linq 文字列リテラルで表した時間を datetime 型に変換する 表 7_36 No7_37.linq NULL 禁止 (datetime 型 ) を int 型に変換する 表 7_37 No7_38.linq NULL 禁止 (datetime 型 ) を decimal(7, 1) 型に変換する 表 7_38 No7_39.linq NULL 禁止 (datetime 型 ) を decimal(7) 型に変換する 表 7_39 No7_40.linq NULL 禁止 (datetime 型 ) を money 型に変換する 表 7_40 No7_41.linq NULL 禁止 (datetime 型 ) を varchar 型に変換する 表 7_41 No7_42.linq NULL 禁止 (datetime 型 ) を datetime 型に変換する 表 7_42 No8.linq CEILING NULL 許容 (money 型 ) 表 8 No8_2.linq CEILING NULL 許容 (money 型 ):NULL 出力 表 8_2 No8_3.linq CEILING NULL 禁止 (decimal(4, 2) 型 ) 表 8_3 No9.linq CHAR NULL 許容 (int 型 ) 表 9 2

No9_2.linq CHAR NULL 許容 (int 型 ):NULL 出力 表 9_2 No9_3.linq CHAR NULL 禁止 (tinyint 型 ) 表 9_3 No10.linq COALESCE NULL 許容 (money 型 ) と 0.0 表 10 No10_2.linq COALESCE NULL 許容 (money 型 ) と 0 表 10_2 No10_3.linq COALESCE NULL 許容 (money 型 ) と 0 と NULL 許容 (money 型 ) 表 10_3 No10_4.linq COALESCE NULL 許容 (money 型 ) と 0.0 と NULL 許容 (money 型 ) 表 10_4 No10_5.linq COALESCE NULL 許容 (money 型 ) と 0 と NULL 許容 (int 型 ) 表 10_5 No10_7.linq COALESCE NULL 許容 (char 型 ) と NULL 禁止 (varchar 型 ) 表 10_7 No10_8.linq COALESCE NULL 許容 (char 型 ) と文字列リテラル 表 10_8 No10_9.linq COALESCE NULL 許容 (money 型 ) と NULL 許容 (money 型 ) 表 10_9 No10_10.linq COALESCE NULL 禁止 (datetime 型 ) と GETDATE() 関数 表 10_10 No11.linq NULL 許容 (int 型 ) を varchar 型に変換する 表 11 No12.linq NULL 許容 (int 型 ) を decimal(5, 1) 型に変換する 表 12 No12_2.linq NULL 禁止 (tinyint 型 ) を decimal(5, 1) 型に変換する 表 12_2 No12_4.linq NULL 許容 (int 型 ) を decimal(5) 型に変換する 表 12_4 No12_8.linq NULL 許容 (int 型 ) を int 型に変換する 表 12_8 No12_10.linq NULL 許容 (int 型 ) を money 型に変換する 表 12_10 No12_12.linq NULL 許容 (int 型 ) を datetime 型に変換する 表 12_12 No12_13.linq NULL 禁止 (tinyint 型 ) を datetime 型に変換する 表 12_13 No12_14.linq NULL 禁止 (decimal(4, 2) 型 ) を int 型に変換する 表 12_14 No12_15.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5, 1) 型に変換する 表 12_15 No12_16.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5) 型に変換する 表 12_16 No12_17.linq NULL 禁止 (decimal(4, 2) 型 ) を money 型に変換する 表 12_17 No12_18.linq NULL 禁止 (decimal(4, 2) 型 ) を varchar 型に変換する 表 12_18 No12_19.linq NULL 禁止 (decimal(4, 2) 型 ) を datetime 型に変換する 表 12_19 No12_20.linq NULL 許容 (money 型 ) を int 型に変換する 表 12_20 No12_21.linq NULL 許容 (money 型 ) を decimal(5, 1) 型に変換する 表 12_21 No12_22.linq NULL 許容 (money 型 ) を decimal(5) 型に変換する 表 12_22 No12_23.linq NULL 許容 (money 型 ) を money 型に変換する 表 12_23 No12_24.linq NULL 許容 (money 型 ) を varchar 型に変換する 表 12_24 No12_25.linq NULL 許容 (money 型 ) を datetime 型に変換する 表 12_25 No12_26.linq NULL 許容 (char 型 ) を int 型に変換する 表 12_26 No12_27.linq NULL 許容 (char 型 ) を int 型に変換する :NULL 出力 表 12_27 No12_28.linq NULL 許容 (char 型 ) を decimal(5, 1) 型に変換する 表 12_28 No12_29.linq NULL 禁止 (char 型 ) を int 型に変換する 表 12_29 No12_30.linq NULL 許容 (char 型 ) を decimal(5) 型に変換する 表 12_30 No12_31.linq NULL 禁止 (char 型 ) を decimal(5, 1) 型に変換する 表 12_31 3

No12_32.linq NULL 許容 (char 型 ) を money 型に変換する表 12_32 No12_33.linq NULL 禁止 (char 型 ) を money 型に変換する表 12_33 No12_34.linq NULL 許容 (char 型 ) を varchar 型に変換する表 12_34 No12_35.linq NULL 禁止 (char 型 ) を varchar 型に変換する表 12_35 No12_36.linq 文字列リテラルで表した時間を datetime 型に変換する表 12_36 No12_37.linq NULL 禁止 (datetime 型 ) を int 型に変換する表 12_37 No12_38.linq NULL 禁止 (datetime 型 ) を decimal(7, 1) 型に変換する表 12_38 No12_39.linq NULL 禁止 (datetime 型 ) を decimal(7) 型に変換する表 12_39 No12_40.linq NULL 禁止 (datetime 型 ) を money 型に変換する表 12_40 No12_41.linq NULL 禁止 (datetime 型 ) を varchar 型に変換する表 12_41 No12_42.linq NULL 禁止 (datetime 型 ) を datetime 型に変換する表 12_42 No12_50.linq NULL 禁止 (datetime 型 ) を [yy/mm/dd] 形式で varchar 型に変換する No12_51.linq NULL 禁止 (datetime 型 ) を [yyyy/mm/dd] 形式で varchar 型に変換する No12_52.linq NULL 禁止 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する (style=20) No12_53.linq NULL 禁止 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する (style=120) No12_54.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yy/mm/dd] 形式で varchar 型に変換する No12_55.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yyyy/mm/dd] 形式で varchar 型に変換する No12_56.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する (style=20) No12_57.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する (style=120) No12_60.linq 文字列リテラルで表した時間 ([yy/mm/dd] 形式 ) を datetime 型に変換する No12_61.linq 文字列リテラルで表した時間 ([yyyy/mm/dd] 形式 ) を datetime 型に変換する No12_62.linq 文字列リテラルで表した時間 ([yyyy-mm-dd HH:mm:ss] 形式 ) を datetime 型に変換する (style=20) No12_63.linq 文字列リテラルで表した時間 ([yyyy-mm-dd HH:mm:ss] 形式 ) を datetime 型に変換する (style=120) No12_70.linq NULL 許容 (money 型 ) を位取り無しで小数 2 桁の varchar 型に変換する No12_71.linq NULL 許容 (money 型 ) を位取り有りで小数 2 桁の varchar 型に変換する 表 12_50 表 12_51 表 12_52 表 12_53 表 12_54 表 12_55 表 12_56 表 12_57 表 12_60 表 12_61 表 12_62 表 12_63 表 12_70 表 12_71 No12_72.linq NULL 許容 (money 型 ) を位取り無しで小数 4 桁の表 12_72 4

varchar 型に変換する No1.linq ABS NULL 許容 (highqty:smallint 型 ) と NULL 禁止 (discount:decimal 型 ) SELECT discounttype, ABS(highqty) AS high, ABS(discount1) AS dis WHERE lowqty = 100.Where(x1 => x1.lowqty == 100) high = ((int?)math.abs((int)(x1.highqty))), dis = Math.Abs(x1.discount1) No1_2.linq ABS NULL 許容 (highqty:smallint 型 ) と NULL 禁止 (discount:decimal 型 ):NULL 出力 SELECT discounttype, ABS(highqty) AS high, ABS(discount1) AS dis high = ((int?)math.abs((int)(x1.highqty))), dis = Math.Abs(x1.discount1) No1_3.linq ABS NULL 許容 (highqty:smallint 型 ) と NULL 禁止 (discount:decimal 型 ):1 加算 SELECT discounttype, ABS(highqty) + 1 AS high, ABS(discount1) + 1 AS dis 5

high = ((int?)math.abs((int)(x1.highqty))) + 1, dis = Math.Abs(x1.discount1) + 1 No2.linq ABS 数値リテラル SELECT discounttype, ABS(-10) AS high, ABS(11.1) AS dis WHERE lowqty = 100.Where(x1 => x1.lowqty == 100) high = Math.Abs( -10), dis = Math.Abs(11.1m) No3.linq ASCII NULL 禁止 (varchar 型 ) SELECT au_id, ASCII(au_id) AS code FROM titleauthors WHERE au_id = '172-32-1176' titleauthors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, code = System.Data.Objects.SqlClient.SqlFunctions.Ascii(x1.au_id) No3_2.linq ASCII NULL 許容 (char 型 ) 6

SELECT stor_id, ASCII(stor_id) + 1 AS code code = System.Data.Objects.SqlClient.SqlFunctions.Ascii(x1.au_id) + 1 No4.linq ASCII 文字列リテラル SELECT au_id, ASCII('172-32-1176') AS code FROM titleauthors WHERE au_id = '172-32-1176' titleauthors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, code = System.Data.Objects.SqlClient.SqlFunctions.Ascii("172-32-1176") No5.linq AVG NULL 許容 (money 型 ) SELECT pub_id, AVG(price) AS price GROUP BY pub_id HAVING pub_id = '0736'.GroupBy(x1 => newgrkey1 = x1.pub_id}).where(g1 => g1.key.grkey1 == "0736").Select(g1 => new pub_id = g1.key.grkey1, price = g1.average(x1 => x1.price) 7

No6.linq NULL 許容 (int 型 ) を varchar 型に変換する SELECT au_id, royaltyper, (royaltyper AS varchar) AS string1 FROM titleauthors WHERE au_id = '172-32-1176' titleauthors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, x1.royaltyper, string1 = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( ((decimal)(x1.royaltyper)) No6_2.linq NULL 許容 (int 型 ) を varchar 型に変換する :NULL 出力 SELECT title_id, royalty, (royalty AS varchar) + ' a' AS string1 x1.title_id, x1.royalty, string1 = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( ((decimal)(x1.royalty)) + " a" No6_3.linq NULL 禁止 (tinyint 型 ) を varchar 型に変換する SELECT min_lvl, (min_lvl AS varchar) + ' 1' AS strroyalty FROM jobs 8

jobs x1.min_lvl, strroyalty = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( ((decimal)(x1.min_lvl)) + " 1" No7.linq NULL 許容 (int 型 ) を decimal(5, 2) 型に変換する SELECT au_id, royaltyper, (royaltyper AS decimal(5,2)) AS string1 FROM titleauthors WHERE au_id = '172-32-1176' titleauthors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, x1.royaltyper, string1 = ((decimal?)math.round((decimal)(x1.royaltyper), 2)) No7_2.linq NULL 禁止 (tinyint 型 ) を decimal(5, 2) 型に変換する SELECT min_lvl, (min_lvl AS decimal(5,2)) AS string1 FROM jobs jobs x1.min_lvl, string1 = Math.Round((decimal)(x1.min_lvl), 2) No7_3.linq 9

NULL 許容 (int 型 ) を decimal(5, 2) 型に変換する :NULL 出力 SELECT title_id, royalty, (royalty AS decimal(5, 2)) AS string1 x1.title_id, x1.royalty, string1 = ((decimal?)math.round((decimal)(x1.royalty), 2)) No7_4.linq NULL 許容 (int 型 ) を decimal(5) 型に変換する SELECT title_id, royalty, (royalty AS decimal(5)) AS string1 x1.title_id, x1.royalty, string1 = ((decimal?)math.round((decimal)(x1.royalty), 0)) No7_5.linq NULL 許容 (int 型 ) を decimal 型に変換する SELECT title_id, royalty, (royalty AS decimal) AS string1 x1.title_id, x1.royalty, string1 = ((decimal?)math.round((decimal)(x1.royalty), 0)) 10

No7_6.linq NULL 禁止 (tinyint 型 ) を decimal(5) 型に変換する SELECT min_lvl, (min_lvl AS decimal(5)) AS string1 FROM jobs jobs x1.min_lvl, string1 = Math.Round((decimal)(x1.min_lvl), 0) No7_7.linq NULL 禁止 (tinyint 型 ) を decimal 型に変換する SELECT min_lvl, (min_lvl AS decimal) AS string1 FROM jobs jobs x1.min_lvl, string1 = Math.Round((decimal)(x1.min_lvl), 0) No7_8.linq NULL 許容 (int 型 ) を int 型に変換する SELECT title_id, royalty, (royalty AS int) AS string1 LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ 11

x1.title_id, x1.royalty, string1 = (x1.royalty) No7_9 NULL 禁止 (tinyint 型 ) を int 型に変換する SELECT min_lvl, cast(min_lvl AS int) AS string1 FROM jobs jobs x1.min_lvl, string1 = (x1.min_lvl) No7_10.linq NULL 許容 (int 型 ) を money 型に変換する SELECT title_id, royalty, (royalty AS money) AS string1 x1.title_id, x1.royalty, string1 = ((decimal?)(x1.royalty)) No7_11.linq NULL 禁止 (tinyint 型 ) を money 型に変換する SELECT min_lvl, cast(min_lvl AS money) AS string1 FROM jobs 12

jobs x1.min_lvl, string1 = (decimal)(x1.min_lvl) No7_12.linq NULL 許容 (int 型 ) を datetime 型に変換する SELECT title_id, royalty, (royalty AS datetime) AS string1 x1.title_id, x1.royalty, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.royalty, "1900/01/01") No7_13.linq NULL 禁止 (tinyint 型 ) を datetime 型に変換する SELECT min_lvl, (min_lvl AS datetime) AS string1 FROM jobs jobs x1.min_lvl, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.min_lvl, "1900/01/01") No7_14.linq 13

NULL 禁止 (decimal(4, 2) 型 ) を int 型に変換する SELECT discounttype, discount1, (discount1 AS int) AS value LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount1, value = (int)(x1.discount1) No7_15.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5, 1) 型に変換する SELECT discounttype, discount1, (discount1 AS decimal(5, 1)) AS value x1.discount1, value = Math.Round((decimal)(x1.discount1), 1) No7_16.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5) 型に変換する SELECT discounttype, discount1, (discount1 AS decimal(5)) AS value x1.discount1, value = Math.Round((decimal)(x1.discount1), 0) 14

No7_17.linq NULL 禁止 (decimal(4, 2) 型 ) を money 型に変換する SELECT discounttype, discount1, (discount1 AS money) AS value LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount1, value = (decimal)(x1.discount1) No7_18.linq NULL 禁止 (decimal(4, 2) 型 ) を varchar 型に変換する SELECT discounttype, discount1, (discount1 AS varchar) + ' 1' AS value x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.discount1), 5, 2) + " 1" No7_19.linq NULL 禁止 (decimal(4, 2) 型 ) を datetime 型に変換する SELECT discounttype, discount1, (discount1 AS datetime) AS value x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( 15

"day", (double)x1.discount1, "1900/01/01") No7_20.linq NULL 許容 (money 型 ) を int 型に変換する SELECT title_id, price, (price AS int) AS value x1.title_id, x1.price, value = ((int?)(x1.price)) No7_21.linq NULL 許容 (money 型 ) を decimal(5, 1) 型に変換する SELECT title_id, price, (price AS decimal(5, 1)) AS value x1.title_id, x1.price, value = ((decimal?)math.round((decimal)(x1.price), 1)) No7_22.linq NULL 許容 (money 型 ) を decimal(5) 型に変換する SELECT title_id, price, (price AS decimal(5)) AS value 16

x1.title_id, x1.price, value = ((decimal?)math.round((decimal)(x1.price), 0)) No7_23.linq NULL 許容 (money 型 ) を money 型に変換する SELECT title_id, price, (price AS money) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ x1.title_id, x1.price, value = (x1.price) No7_24.linq NULL 許容 (money 型 ) を varchar 型に変換する SELECT title_id, price, (price AS varchar) + ' 1' AS value x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.price), 19, 4) + " 1" 17

No7_25.linq NULL 許容 (money 型 ) を datetime 型に変換する SELECT title_id, price, (price AS datetime) AS value x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (double)(x1.price), "1900/01/01") LINQ コード No7_26.linq NULL 許容 (char 型 ) を int 型に変換する SELECT discounttype, stor_id, (stor_id AS int) AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ value = x1.stor_id == null? null : (int?)int.parse(x1.stor_id) No7_27.linq NULL 許容 (char 型 ) を int 型に変換する :1 加算 SELECT discounttype, stor_id, (stor_id AS int) + 1 AS value 18

LINQ コード /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */.ToList() value = (x1.stor_id == null? null : (int?)int.parse(x1.stor_id)) + 1 LINQ コード No7_28.linq NULL 許容 (char 型 ) を decial(5, 1) 型に変換する SELECT discounttype, stor_id, (stor_id AS decimal(5, 1)) AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ value = (x1.stor_id == null? null : (decimal?)math.round((decimal) ((decimal?)decimal.parse(x1.stor_id)), 1)) LINQ コード No7_29.linq NULL 禁止 (char 型 ) を int 型に変換する SELECT pub_id, country, cast(pub_id AS int) AS value FROM publishers /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ publishers x1.pub_id, x1.country, value = int.parse(x1.pub_id) 19

LINQ コード No7_30.linq NULL 許容 (char 型 ) を decimal(5) 型に変換する SELECT discounttype, stor_id, (stor_id AS decimal(5)) AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */.ToList() value = (x1.stor_id == null? null : (decimal?)math.round((decimal) ((decimal?)decimal.parse(x1.stor_id)), 0)) LINQ コード No7_31.linq NULL 禁止 (char 型 ) を decimal(5, 1) 型に変換する SELECT pub_id, country, (pub_id AS decimal(5, 1)) AS value FROM publishers /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ publishers x1.pub_id, x1.country, value = Math.Round((decimal)(decimal.Parse(x1.pub_id)), 1) No7_32.linq NULL 許容 (char 型 ) を money 型に変換する SELECT discounttype, stor_id, (stor_id AS money) AS value 20

LINQ コード /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ value = (x1.stor_id == null? null : (decimal?)decimal.parse(x1.stor_id)) LINQ コード No7_33.linq NULL 禁止 (char 型 ) を money 型に変換する SELECT pub_id, country, (pub_id AS money) AS value FROM publishers /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ publishers x1.pub_id, x1.country, value = decimal.parse(x1.pub_id) No7_34.linq NULL 許容 (char 型 ) を varchar 型に変換する SELECT discounttype, stor_id, (stor_id AS varchar) AS value value = (x1.stor_id) 21

No7_35.linq NULL 禁止 (char 型 ) を varchar 型に変換する SELECT pub_id, country, cast(pub_id AS varchar) AS value FROM publishers publishers x1.pub_id, x1.country, value = (x1.pub_id) No7_36.linq 文字列リテラルで表した時間を datetime 型に変換する SELECT pub_id, country, ('10/08/23 18:33:44' AS datetime) AS value FROM publishers publishers x1.pub_id, x1.country, value = new DateTime(10, 08, 23, 18, 33, 44) No7_37.linq NULL 禁止 (datetime 型 ) を int 型に変換する SELECT stor_id, ord_date, (ord_date AS int) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, 22

value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) No7_38.linq NULL 禁止 (datetime 型 ) を decimal(7, 1) 型に変換する SELECT stor_id, ord_date, (ord_date AS decimal(7, 1)) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) 関数 No7_39.linq NULL 禁止 (datetime 型 ) を decimal(7) 型に変換する SELECT stor_id, ord_date, (ord_date AS decimal(7)) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) No7_40.linq 23

NULL 禁止 (datetime 型 ) を money 型に変換する SELECT stor_id, ord_date, (ord_date AS money) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) LINQ コード No7_41.linq NULL 禁止 (datetime 型 ) を varchar 型に変換する SELECT stor_id, ord_date, (ord_date AS varchar) AS value FROM sales WHERE stor_id = '6380' /* LINQ to Entities では ToString メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = (x1.ord_date).tostring() No7_42.linq NULL 禁止 (datetime 型 ) を datetime 型に変換する SELECT stor_id, ord_date, cast(ord_date AS datetime) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") 24

x1.ord_date, value = (x1.ord_date) No8.linq CEILING NULL 許容 (money 型 ) SELECT price, CEILING(price) AS price WHERE pub_id = '0736'.Where(x1 => x1.pub_id == "0736") root_alias_1 = x1.price, root_alias_2 = ((decimal?)math.ceiling((decimal)(x1.price))) No8_2.linq CEILING NULL 許容 (money 型 ):NULL 出力 SELECT price, CEILING(price) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") root_alias_1 = x1.price, root_alias_2 = ((decimal?)math.ceiling((decimal)(x1.price))) No8_3.linq CEILING NULL 禁止 (decimal(4, 2) 型 ) SELECT discounttype, discount1, CEILING(discount1) AS value 25

LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ x1.discount1, value = Math.Ceiling(x1.discount1) No9.linq CHAR NULL 許容 (int 型 ) SELECT royaltyper, CHAR(royaltyper) FROM titleauthors titleauthors x1.royaltyper, root_alias_2 = (System.Data.Objects.SqlClient.SqlFunctions.Char( x1.royaltyper)) No9_2.linq CHAR NULL 許容 (int 型 ):NULL 出力 SELECT discounttype, lowqty, CHAR(lowqty) AS value x1.lowqty, value = (System.Data.Objects.SqlClient.SqlFunctions.Char(x1.lowqty)) No9_3.linq CHAR 26

NULL 禁止 (tinyint 型 ) SELECT min_lvl, CHAR(min_lvl) AS value FROM jobs jobs x1.min_lvl, value = System.Data.Objects.SqlClient.SqlFunctions.Char(x1.min_lvl) No10.linq COALESCE NULL 許容 (money 型 ) と 0.0 SELECT pub_id, COALESCE(price, 0.0) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.price!= null? x1.price : 0.0m == 0.0m? 0.0m : 1 No10_2.linq COALESCE NULL 許容 (money 型 ) と 0 SELECT pub_id, COALESCE(price, 0) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.price!= null? x1.price : 0 == 0? 0 : 1 27

No10_3.linq COALESCE NULL 許容 (money 型 ) と 0 と NULL 許容 (money 型 ) SELECT pub_id, COALESCE(price, 0, advance) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.price!= null? x1.price : 0 == 0? 0 : x1.advance!= null? x1.advance : null No10_4.linq COALESCE NULL 許容 (money 型 ) と 0.0 と NULL 許容 (money 型 ) SELECT pub_id, COALESCE(price, 0.0, advance) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.price!= null? x1.price : 0.0 == 0.0? 0.0m : x1.advance!= null? x1.advance : null No10_5.linq COALESCE NULL 許容 (money 型 ) と 0 と NULL 許容 (int 型 ) SELECT pub_id, COALESCE(price, 0, royalty) AS price WHERE pub_id = '1389' 28

.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.price!= null? x1.price : 0 == 0? 0 : x1.royalty!= null? x1.royalty : null No10_7.linq COALESCE NULL 許容 (char 型 ) と NULL 禁止 (varchar 型 ) SELECT stor_id, discounttype, COALESCE(stor_id, discounttype) AS price price = x1.stor_id!= null? x1.stor_id : x1.discounttype!= null? x1.discounttype : "A" No10_8.linq COALESCE NULL 許容 (char 型 ) と文字列リテラル SELECT stor_id, discounttype, COALESCE(stor_id, 'null') AS price price = x1.stor_id!= null? x1.stor_id : "null" == "null"? "null" : "A" No10_9.linq COALESCE 29

NULL 許容 (money 型 ) と NULL 許容 (money 型 ) SELECT pub_id, COALESCE(price, advance) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.price!= null? x1.price : x1.advance!= null? x1.advance : null No10_10.linq COALESCE NULL 禁止 (datetime 型 ) と GETDATE() 関数 SELECT pub_id, COALESCE(pubdate, GETDATE()) AS price WHERE pub_id = '1389'.Where(x1 => x1.pub_id == "1389") x1.pub_id, price = x1.pubdate!= null? x1.pubdate : DateTime.Now == DateTime.Now? DateTime.Now : DateTime.Now No11.linq NULL 許容 (int 型 ) を varchar 型に変換する SELECT au_id, royaltyper, (varchar, royaltyper) AS string1 FROM titleauthors WHERE au_id = '172-32-1176' titleauthors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, x1.royaltyper, 30

string1 = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.royaltyper)) No12.linq NULL 許容 (int 型 ) を decimal(5, 1) 型に変換する SELECT au_id, royaltyper, (decimal(5,1), royaltyper) AS string1 FROM titleauthors WHERE au_id = '172-32-1176' titleauthors.where(x1 => x1.au_id == "172-32-1176") x1.au_id, x1.royaltyper, string1 = ((decimal?)math.round((decimal)(x1.royaltyper), 1)) No12_2.linq NULL 禁止 (tinyint 型 ) を decimal(5, 1) 型に変換する SELECT min_lvl, (decimal(5,1), min_lvl) AS string1 FROM jobs LINQ /* LINQ to SQL と異なる */ jobs x1.min_lvl, string1 = Math.Round((decimal)x1.min_lvl, 1) No12_4.linq NULL 許容 (int 型 ) を decimal(5) 型に変換する SELECT title_id, royalty, (decimal(5), royalty) AS string1 WHERE title_id like 'MC%' 31

x1.title_id, x1.royalty, string1 = ((decimal?)math.round((decimal)(x1.royalty), 0)) No12_8.linq NULL 許容 (int 型 ) を int 型に変換する SELECT title_id, royalty, (int, royalty) AS string1 LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ x1.title_id, x1.royalty, string1 = (x1.royalty) No12_10.linq NULL 許容 (int 型 ) を money 型に変換する SELECT title_id, royalty, (money, royalty) AS string1 x1.title_id, x1.royalty, string1 = ((decimal?)(x1.royalty)) 32

No12_12.linq NULL 許容 (int 型 ) を datetime 型に変換する SELECT title_id, royalty, (datetime, royalty) AS string1.where(x1 => (x1.title_id).startwith("mc")) x1.title_id, x1.royalty, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.royalty, "1900/01/01") No12_13.linq NULL 禁止 (tinyint 型 ) を datetime 型に変換する SELECT min_lvl, (datetime, min_lvl) AS string1 FROM jobs jobs x1.min_lvl, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.min_lvl, "1900/01/01") No12_14.linq NULL 禁止 (decimal(4, 2) 型 ) を int 型に変換する SELECT discounttype, discount1, (int, discount1) AS value LINQ コード /* LINQ to SQL と異なる (discount1 のみ ) */ 33

x1.discount1, value = (int)(x1.discount1) No12_15.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5, 1) 型に変換する SELECT discounttype, discount1, (decimal(5, 1), discount1) AS value x1.discount, value = Math.Round((decimal)(x1.discount), 1) No12_16.linq NULL 禁止 (decimal(4, 2) 型 ) を decimal(5) 型に変換する SELECT discounttype, discount1, (decimal(5), discount1) AS value x1.discount1, value = Math.Round((decimal)(x1.discount1), 0) No12_17.linq NULL 禁止 (decimal(4, 2) 型 ) を money 型に変換する SELECT discounttype, discount1, (money, discount1) AS value 34

x1.discount1, value = (x1.discount1) No12_18.linq NULL 禁止 (decimal(4, 2) 型 ) を varchar 型に変換する SELECT discounttype, discount1, (varchar, discount1) + ' 1' AS value x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.discount1), 5, 2) + " 1" No12_19.linq NULL 禁止 (decimal(4, 2) 型 ) を datetime 型に変換する SELECT discounttype, discount1, (datetime, discount1) AS value x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (double)x1.discount1, "1900/01/01") No12_20.linq 35

NULL 許容 (money 型 ) を int 型に変換する SELECT title_id, price, (int, price) AS value x1.title_id, x1.price, value = (int?)(x1.price) No12_21.linq NULL 許容 (money 型 ) を decimal(5, 1) 型に変換する SELECT title_id, price, (decimal(5, 1), price) AS value x1.title_id, x1.price, value = ((decimal?)math.round((decimal)(x1.price), 1)) No12_22.linq NULL 許容 (money 型 ) を decimal(5) 型に変換する SELECT title_id, price, (decimal(5), price) AS value x1.title_id, x1.price, 36

value = ((decimal?)math.round((decimal)(x1.price), 0)) No12_23.linq NULL 許容 (money 型 ) を money 型に変換する SELECT title_id, price, (money, price) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ x1.title_id, x1.price, value = (x1.price) No12_24.linq NULL 許容 (money 型 ) を varchar 型に変換する SELECT title_id, price, (varchar, price) + ' 1' AS value x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.price), 5, 2) + " 1" No12_25.linq NULL 許容 (money 型 ) を datetime 型に変換する SELECT title_id, price, (datetime, price) AS value 37

x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (double)x1.price, "1900/01/01") LINQ コード No12_26.linq NULL 許容 (char 型 ) を int 型に変換する SELECT discounttype, stor_id, (int, stor_id) AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ value = x1.stor_id == null? null : (int?)int.parse(x1.stor_id) LINQ コード No12_27.linq NULL 許容 (char 型 ) を int 型に変換する :1 加算 SELECT discounttype, stor_id, (int, stor_id) + 1 AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ 38

value = (x1.stor_id == null? null : (int?)int.parse(x1.stor_id)) + 1 LINQ コード No12_28.linq NULL 許容 (char 型 ) を decimal(5, 1) 型に変換する SELECT discounttype, stor_id, (decimal(5, 1), stor_id) AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ value = (x1.stor_id == null? null : (decimal?)math.round( (decimal)((decimal?)decimal.parse(x1.stor_id)), 1)) LINQ コード No12_29.linq NULL 禁止 (char 型 ) を int 型に変換する SELECT pub_id, country, (int, pub_id) AS value FROM publishers /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ publishers x1.pub_id, x1.country, value = int.parse(x1.pub_id) No12_30.linq NULL 許容 (char 型 ) を decimal(5) 型に変換する SELECT discounttype, stor_id, (decimal(5), stor_id) AS value 39

LINQ コード /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */.ToList() value = (x1.stor_id == null? null : (decimal?)math.round( (decimal)((decimal?)decimal.parse(x1.stor_id)), 0)) LINQ コード No12_31.linq NULL 禁止 (char 型 ) を decimal(5, 1) 型に変換する SELECT pub_id, country, (decimal(5, 1), pub_id) AS value FROM publishers /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ publishers x1.pub_id, x1.country, value = Math.Round((decimal)(decimal.Parse(x1.pub_id)), 1) LINQ コード No12_32.linq NULL 許容 (char 型 ) を money 型に変換する SELECT discounttype, stor_id, (money, stor_id) AS value /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ 40

value = x1.stor_id == null? null : (decimal?)decimal.parse(x1.stor_id) L LINQ コード No12_33.linq NULL 禁止 (char 型 ) を money 型に変換する SELECT pub_id, country, (money, pub_id) AS value FROM publishers /* LINQ to Entities では Parse メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ publishers x1.pub_id, x1.country, value = decimal.parse(x1.pub_id) No12_34.linq NULL 許容 (char 型 ) を varchar 型に変換する SELECT discounttype, stor_id, (varchar, stor_id) AS value value = (x1.stor_id) No12_35.linq NULL 禁止 (char 型 ) を varchar 型に変換する SELECT pub_id, country, (varchar, pub_id) AS value FROM publishers 41

publishers x1.pub_id, x1.country, value = (x1.pub_id) No12_36.linq 文字列リテラルで表した時間を datetime 型に変換する SELECT pub_id, country, (datetime, '10/08/23 18:33:44') AS value FROM publishers publishers x1.pub_id, x1.country, value = new DateTime(10, 08, 23, 18, 33, 44) No12_37.linq NULL 禁止 (datetime 型 ) を int 型に変換する SELECT stor_id, ord_date, (int, ord_date) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) No12_38.linq 42

NULL 禁止 (datetime 型 ) を decimal(7, 1) 型に変換する SELECT stor_id, ord_date, (decimal(7, 1), ord_date) AS value FROM sales WHERE stor_id = '6380' LINQ /* LINQ to SQL と異なる */ sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) No12_39.linq NULL 禁止 (datetime 型 ) を decimal(7) 型に変換する SELECT stor_id, ord_date, (decimal(7), ord_date) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) No12_40.linq NULL 禁止 (datetime 型 ) を money 型に変換する SELECT stor_id, ord_date, (money, ord_date) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") 43

x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) LINQ コード No12_41.linq NULL 禁止 (datetime 型 ) を varchar 型に変換する SELECT stor_id, ord_date, (varchar, ord_date) AS value FROM sales WHERE stor_id = '6380' /* LINQ to Entities では ToString メソッドは認識されないため SQLCompiler は警告を表示する 続行の場合は下記のコードに ToList メソッドを手作業で追加して実行することになる */ sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = (x1.ord_date).tostring() No12_42.linq NULL 禁止 (datetime 型 ) を datetime 型に変換する SELECT stor_id, ord_date, (datetime, ord_date) AS value FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, value = (x1.ord_date) 44

No12_50.linq NULL 禁止 (datetime 型 ) を [yy/mm/dd] 形式で varchar 型に変換する SELECT pubdate, (varchar, pubdate, 11) AS value.tolist() x1.pubdate, value = (x1.pubdate).tostring("yy/mm/dd") No12_51.linq NULL 禁止 (datetime 型 ) を [yyyy/mm/dd] 形式で varchar 型に変換する SELECT pubdate, (varchar, pubdate, 111) AS value.tolist() x1.pubdate, value = (x1.pubdate).tostring("d") No12_52.linq NULL 禁止 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する SELECT pubdate, (varchar, pubdate, 20) AS value.tolist() x1.pubdate, value = (x1.pubdate).tostring("yyyy-mm-dd HH:mm:ss") 45

No12_53.linq NULL 禁止 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する SELECT pubdate, (varchar, pubdate, 120) AS value.tolist() x1.pubdate, value = (x1.pubdate).tostring("yyyy-mm-dd HH:mm:ss") No12_54.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yy/mm/dd] 形式で varchar 型に変換する SELECT ShippedDate, (varchar, ShippedDate, 11) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.ToList().Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (x1.shippeddate == null? null : (x1.shippeddate).getvalueordefault().tostring("yy/mm/dd")) No12_55.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yyyy/mm/dd] 形式で varchar 型に変換する SELECT ShippedDate, (varchar, ShippedDate, 111) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 46

Orders.ToList().Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (x1.shippeddate == null? null : (x1.shippeddate).getvalueordefault().tostring("d")) No12_56.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する SELECT ShippedDate, (varchar, ShippedDate, 20) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.ToList().Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = (x1.shippeddate == null? null : (x1.shippeddate).getvalueordefault().tostring( "yyyy-mm-dd HH:mm:ss")) No12_57.linq (Northwind データベース )NULL 許容 (datetime 型 ) を [yyyy-mm-dd HH:mm:ss] 形式で varchar 型に変換する SELECT ShippedDate, (varchar, ShippedDate, 120) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009).ToList() 47

x1.shippeddate, value = (x1.shippeddate == null? null : (x1.shippeddate).getvalueordefault().tostring( "yyyy-mm-dd HH:mm:ss")) No12_60.linq 文字列リテラルで表した時間 ([yy/mm/dd] 形式 ) を datetime 型に変換する SELECT pubdate, (datetime, '10/08/27', 11) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.ToList() x1.pubdate, value = DateTime.ParseExact("10/08/27", "yy/mm/dd", null) No12_61.linq 文字列リテラルで表した時間 ([yyyy/mm/dd] 形式 ) を datetime 型に変換する SELECT pubdate, (datetime, '2010/08/27', 111) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.ToList() x1.pubdate, value = DateTime.ParseExact("2010/08/27", "d", null) No12_62.linq 48

文字列リテラルで表した時間 ([yyyy-mm-dd HH:mm:ss] 形式 ) を datetime 型に変換する SELECT pubdate, (datetime, '2010-08-27 14:39:39', 20) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.Where(x1 => (x1.title_id(.startswith("mc")).tolist() x1.pubdate, value = DateTime.ParseExact("2010-08-27 14:39:39", "yyyy-mm-dd HH:mm:ss", null) No12_63.linq 文字列リテラルで表した時間 ([yyyy-mm-dd HH:mm:ss] 形式 ) を datetime 型に変換する SELECT pubdate, (datetime, '2010-08-27 14:39:39', 120) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ x1.pubdate, value = DateTime.ParseExact("2010-08-27 14:39:39", "yyyy-mm-dd HH:mm:ss", null) No12_70.linq NULL 許容 (money 型 ) を位取り無しで小数 2 桁の varchar 型に変換する SELECT advance, (varchar, advance, 0) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */.ToList() 49

x1.advance, value = (x1.advance == null? null : (x1.advance).getvalueordefault().tostring("f2", System.Globalization.CultureInfo.InvariantCulture)) No12_71.linq NULL 許容 (money 型 ) を位取り有りで小数 2 桁の varchar 型に変換する SELECT advance, (varchar, advance, 1) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ x1.advance, value = (x1.advance == null? null : (x1.advance).getvalueordefault().tostring("n2", System.Globalization.CultureInfo.InvariantCulture)) No12_72.linq NULL 許容 (money 型 ) を位取り無しで小数 4 桁の varchar 型に変換する SELECT advance, (varchar, advance, 2) AS value LINQ コード /* LINQ to SQL と異なる (LIKE 述語のみ ) */ x1.advance, value = (x1.advance == null? null : (x1.advance).getvalueordefault().tostring("f4", System.Globalization.CultureInfo.InvariantCulture)) 50

51