SQLCompiler for LINQ(C#)
のサンプル
(LINQPad 用 LINQ to Entities 関数サンプル 1)
本サンプルで使用した Visual Studio プロジェクトの pubs データベースの概念モデル
は、以下のテーブル名とカラム名が、直接 SQL Sever へクエリする場合と異なるので、
T-SQL が補正されています。
テーブル名が異なるもの
・employee → employees
・royshed → roysheds
・titleauthor → titleauthors
カラム名が異なるもの
・discounts.discount → discounts.discount1
・titles.title → titles.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 CAST NULL 許容(int 型)を varchar 型に変換する 表 6
No6_2.linq CAST NULL 許容(int 型)を varchar 型に変換する:NULL 出力 表 6_2
No6_3.linq CAST NULL 禁止(tinyint 型)を varchar 型に変換する 表 6_3
No7.linq CAST NULL 許容(int 型)を decimal(5, 2)型に変換する 表 7
No7_2.linq CAST NULL 禁止(tinyint 型)を decimal(5, 2)型に変換する 表 7_2
No7_3.linq CAST NULL 許容(int 型)を decimal(5, 2)型に変換する:NULL 出力 表 7_3
No7_4.linq CAST NULL 許容(int 型)を decimal(5)型に変換する 表 7_4
No7_5.linq CAST NULL 許容(int 型)を decimal 型に変換する 表 7_5
No7_6.linq CAST NULL 禁止(tinyint 型)を decimal(5)型に変換する 表 7_6
No7_7.linq CAST NULL 禁止(tinyint 型)を decimal 型に変換する 表 7_7
No7_8.linq CAST NULL 許容(int 型)を int 型に変換する 表 7_8
No7_10.linq CAST NULL 許容(int 型)を money 型に変換する 表 7_10
No7_11.linq CAST NULL 禁止(tinyint 型)を money 型に変換する 表 7_11
No7_12.linq CAST NULL 許容(int 型)を datetime 型に変換する 表 7_12
No7_13.linq CAST NULL 禁止(tinyint 型)を datetime 型に変換する 表 7_13
No7_14.linq CAST NULL 禁止(decimal(4, 2)型)を int 型に変換する 表 7_14
No7_15.linq CAST NULL 禁止(decimal(4, 2)型)を decimal(5, 1)型に変換する 表 7_15
No7_16.linq CAST NULL 禁止(decimal(4, 2)型)を decimal(5)型に変換する 表 7_16
No7_17.linq CAST NULL 禁止(decimal(4, 2)型)を money 型に変換する 表 7_17
No7_18.linq CAST NULL 禁止(decimal(4, 2)型)を varchar 型に変換する 表 7_18
No7_19.linq CAST NULL 禁止(decimal(4, 2)型)を datetime 型に変換する 表 7_19
No7_20.linq CAST NULL 許容(money 型)を int 型に変換する 表 7_20
No7_21.linq CAST NULL 許容(money 型)を decimal(5, 1)型に変換する 表 7_21
No7_22.linq CAST NULL 許容(money 型)を decimal(5)型に変換する 表 7_22
No7_23.linq CAST NULL 許容(money 型)を money 型に変換する 表 7_23
No7_24.linq CAST NULL 許容(money 型)を varchar 型に変換する 表 7_24
No7_25.linq CAST NULL 許容(money 型)を datetime 型に変換する 表 7_25
No7_26.linq CAST NULL 許容(char 型)を int 型に変換する 表 7_26
No7_27.linq CAST NULL 許容(char 型)を int 型に変換する:1 加算 表 7_27
No7_28.linq CAST NULL 許容(char 型)を decial(5, 1)型に変換する 表 7_28
No7_29.linq CAST NULL 禁止(char 型)を int 型に変換する 表 7_29
No7_30.linq CAST NULL 許容(char 型)を decimal(5)型に変換する 表 7_30
No7_31.linq CAST NULL 禁止(char 型)を decimal(5, 1)型に変換する 表 7_31
No7_32.linq CAST NULL 許容(char 型)を money 型に変換する 表 7_32
No7_33.linq CAST NULL 禁止(char 型)を money 型に変換する 表 7_33
No7_34.linq CAST NULL 許容(char 型)を varchar 型に変換する 表 7_34
No7_35.linq CAST NULL 禁止(char 型)を varchar 型に変換する 表 7_35
No7_36.linq CAST 文字列リテラルで表した時間を datetime 型に変換する 表 7_36
No7_37.linq CAST NULL 禁止(datetime 型)を int 型に変換する 表 7_37
No7_38.linq CAST NULL 禁止(datetime 型)を decimal(7, 1)型に変換する 表 7_38
No7_39.linq CAST NULL 禁止(datetime 型)を decimal(7)型に変換する 表 7_39
No7_40.linq CAST NULL 禁止(datetime 型)を money 型に変換する 表 7_40
No7_41.linq CAST NULL 禁止(datetime 型)を varchar 型に変換する 表 7_41
No7_42.linq CAST 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_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 CONVERT NULL 許容(int 型)を varchar 型に変換する 表 11
No12.linq CONVERT NULL 許容(int 型)を decimal(5, 1)型に変換する 表 12
No12_2.linq CONVERT NULL 禁止(tinyint 型)を decimal(5, 1)型に変換する 表 12_2
No12_4.linq CONVERT NULL 許容(int 型)を decimal(5)型に変換する 表 12_4
No12_8.linq CONVERT NULL 許容(int 型)を int 型に変換する 表 12_8
No12_10.linq CONVERT NULL 許容(int 型)を money 型に変換する 表 12_10
No12_12.linq CONVERT NULL 許容(int 型)を datetime 型に変換する 表 12_12
No12_13.linq CONVERT NULL 禁止(tinyint 型)を datetime 型に変換する 表 12_13
No12_14.linq CONVERT NULL 禁止(decimal(4, 2)型)を int 型に変換する 表 12_14
No12_15.linq CONVERT NULL 禁止(decimal(4, 2)型)を decimal(5, 1)型に変換する 表 12_15
No12_16.linq CONVERT NULL 禁止(decimal(4, 2)型)を decimal(5)型に変換する 表 12_16
No12_17.linq CONVERT NULL 禁止(decimal(4, 2)型)を money 型に変換する 表 12_17
No12_18.linq CONVERT NULL 禁止(decimal(4, 2)型)を varchar 型に変換する 表 12_18
No12_19.linq CONVERT NULL 禁止(decimal(4, 2)型)を datetime 型に変換する 表 12_19
No12_20.linq CONVERT NULL 許容(money 型)を int 型に変換する 表 12_20
No12_21.linq CONVERT NULL 許容(money 型)を decimal(5, 1)型に変換する 表 12_21
No12_22.linq CONVERT NULL 許容(money 型)を decimal(5)型に変換する 表 12_22
No12_23.linq CONVERT NULL 許容(money 型)を money 型に変換する 表 12_23
No12_24.linq CONVERT NULL 許容(money 型)を varchar 型に変換する 表 12_24
No12_25.linq CONVERT NULL 許容(money 型)を datetime 型に変換する 表 12_25
No12_26.linq CONVERT NULL 許容(char 型)を int 型に変換する 表 12_26
No12_27.linq CONVERT NULL 許容(char 型)を int 型に変換する:NULL 出力 表 12_27
No12_28.linq CONVERT NULL 許容(char 型)を decimal(5, 1)型に変換する 表 12_28
No12_29.linq CONVERT NULL 禁止(char 型)を int 型に変換する 表 12_29
No12_30.linq CONVERT NULL 許容(char 型)を decimal(5)型に変換する 表 12_30
No12_32.linq CONVERT NULL 許容(char 型)を money 型に変換する 表 12_32
No12_33.linq CONVERT NULL 禁止(char 型)を money 型に変換する 表 12_33
No12_34.linq CONVERT NULL 許容(char 型)を varchar 型に変換する 表 12_34
No12_35.linq CONVERT NULL 禁止(char 型)を varchar 型に変換する 表 12_35
No12_36.linq CONVERT 文字列リテラルで表した時間を datetime 型に変換する 表 12_36
No12_37.linq CONVERT NULL 禁止(datetime 型)を int 型に変換する 表 12_37
No12_38.linq CONVERT NULL 禁止(datetime 型)を decimal(7, 1)型に変換する 表 12_38
No12_39.linq CONVERT NULL 禁止(datetime 型)を decimal(7)型に変換する 表 12_39
No12_40.linq CONVERT NULL 禁止(datetime 型)を money 型に変換する 表 12_40
No12_41.linq CONVERT NULL 禁止(datetime 型)を varchar 型に変換する 表 12_41
No12_42.linq CONVERT NULL 禁止(datetime 型)を datetime 型に変換する 表 12_42
No12_50.linq CONVERT NULL 禁止(datetime 型)を[yy/MM/dd]形式で
varchar 型に変換する
表 12_50
No12_51.linq CONVERT NULL 禁止(datetime 型)を[yyyy/MM/dd]形式で
varchar 型に変換する
表 12_51
No12_52.linq CONVERT NULL 禁止(datetime 型)を[yyyy-MM-dd HH:mm:ss]形式で
varchar 型に変換する(style=20)
表 12_52
No12_53.linq CONVERT NULL 禁止(datetime 型)を[yyyy-MM-dd HH:mm:ss]形式で
varchar 型に変換する(style=120)
表 12_53
No12_54.linq CONVERT (Northwind データベース)NULL 許容(datetime 型)を
[yy/MM/dd]形式で varchar 型に変換する
表 12_54
No12_55.linq CONVERT (Northwind データベース)NULL 許容(datetime 型)を
[yyyy/MM/dd]形式で varchar 型に変換する
表 12_55
No12_56.linq CONVERT (Northwind データベース)NULL 許容(datetime 型)を
[yyyy-MM-dd HH:mm:ss]形式で varchar 型に変換する (style=20)
表 12_56
No12_57.linq CONVERT (Northwind データベース)NULL 許容(datetime 型)を
[yyyy-MM-dd HH:mm:ss]形式で varchar 型に変換する (style=120)
表 12_57
No12_60.linq CONVERT 文字列リテラルで表した時間([yy/MM/dd]形式)を
datetime 型に変換する
表 12_60
No12_61.linq CONVERT 文字列リテラルで表した時間([yyyy/MM/dd]形式)を
datetime 型に変換する
表 12_61
No12_62.linq CONVERT 文字列リテラルで表した時間([yyyy-MM-dd HH:mm:ss]形式)
を datetime 型に変換する(style=20)
表 12_62
No12_63.linq CONVERT 文字列リテラルで表した時間([yyyy-MM-dd HH:mm:ss]形式)
を datetime 型に変換する(style=120)
表 12_63
No12_70.linq CONVERT NULL 許容(money 型)を位取り無しで小数 2 桁の
varchar 型に変換する
表 12_70
No12_71.linq CONVERT NULL 許容(money 型)を位取り有りで小数 2 桁の
varchar 型に変換する
表 12_71
varchar 型に変換する
TopPage
ファイル名 No1.linq
関数名 ABS
引数の説明 NULL 許容(highqty:smallint 型)と NULL 禁止(discount:decimal 型)
T-SQL SELECT discounttype, ABS(highqty) AS high, ABS(discount1) AS dis
FROM discounts WHERE lowqty = 100 LINQ コード /* LINQ to SQL と異なる */ discounts .Where(x1 => x1.lowqty == 100) .Select(x1 => new { x1.discounttype, high = ((int?)Math.Abs((int)(x1.highqty))), dis = Math.Abs(x1.discount1) });
TopPage
ファイル名 No1_2.linq 関数名 ABS引数の説明 NULL 許容(highqty:smallint 型)と NULL 禁止(discount:decimal 型):NULL 出力
T-SQL SELECT discounttype, ABS(highqty) AS high, ABS(discount1) AS dis
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, high = ((int?)Math.Abs((int)(x1.highqty))), dis = Math.Abs(x1.discount1) });
TopPage
ファイル名 No1_3.linq 関数名 ABS引数の説明 NULL 許容(highqty:smallint 型)と NULL 禁止(discount:decimal 型):1 加算
T-SQL SELECT discounttype, ABS(highqty) + 1 AS high, ABS(discount1) + 1 AS dis
FROM discounts
LINQ コード /* LINQ to SQL と異なる */
discounts
{ x1.discounttype, high = ((int?)Math.Abs((int)(x1.highqty))) + 1, dis = Math.Abs(x1.discount1) + 1 });
TopPage
ファイル名 No2.linq 関数名 ABS 引数の説明 数値リテラルT-SQL SELECT discounttype, ABS(-10) AS high, ABS(11.1) AS dis
FROM discounts WHERE lowqty = 100 LINQ コード /* LINQ to SQL と同一 */ discounts .Where(x1 => x1.lowqty == 100) .Select(x1 => new { x1.discounttype, high = Math.Abs( -10), dis = Math.Abs(11.1m) });
TopPage
ファイル名 No3.linq 関数名 ASCII 引数の説明 NULL 禁止(varchar 型)T-SQL SELECT au_id, ASCII(au_id) AS code
FROM titleauthors WHERE au_id = '172-32-1176' LINQ コード /* LINQ to SQL と異なる */ titleauthors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id, code = System.Data.Objects.SqlClient.SqlFunctions.Ascii(x1.au_id) });
TopPage
ファイル名 No3_2.linq 関数名 ASCII 引数の説明 NULL 許容(char 型)T-SQL SELECT stor_id, ASCII(stor_id) + 1 AS code FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.stor_id, code = System.Data.Objects.SqlClient.SqlFunctions.Ascii(x1.au_id) + 1 });
TopPage
ファイル名 No4.linq 関数名 ASCII 引数の説明 文字列リテラルT-SQL SELECT au_id, ASCII('172-32-1176') AS code
FROM titleauthors WHERE au_id = '172-32-1176' LINQ コード /* LINQ to SQL と異なる */ titleauthors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id, code = System.Data.Objects.SqlClient.SqlFunctions.Ascii("172-32-1176") });
TopPage
ファイル名 No5.linq 関数名 AVG 引数の説明 NULL 許容(money 型)T-SQL SELECT pub_id, AVG(price) AS price
FROM titles GROUP BY pub_id
HAVING pub_id = '0736'
LINQ コード /* LINQ to SQL と同一 */
titles
.GroupBy(x1 => new{grKey1 = x1.pub_id}) .Where(g1 => g1.Key.grKey1 == "0736") .Select(g1 => new
{
pub_id = g1.Key.grKey1,
price = g1.Average(x1 => x1.price) });
TopPage
ファイル名 No6.linq
関数名 CAST
引数の説明 NULL 許容(int 型)を varchar 型に変換する
T-SQL SELECT au_id, royaltyper, CAST(royaltyper AS varchar) AS string1
FROM titleauthors WHERE au_id = '172-32-1176' LINQ コード /* LINQ to SQL と異なる */ titleauthors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id, x1.royaltyper, string1 = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( ((decimal)(x1.royaltyper))
});
TopPage
ファイル名 No6_2.linq 関数名 CAST引数の説明 NULL 許容(int 型)を varchar 型に変換する:NULL 出力
T-SQL SELECT title_id, royalty, CAST(royalty AS varchar) + ' a' AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( ((decimal)(x1.royalty)) + " a" });
TopPage
ファイル名 No6_3.linq 関数名 CAST引数の説明 NULL 禁止(tinyint 型)を varchar 型に変換する
T-SQL SELECT min_lvl, CAST(min_lvl AS varchar) + ' 1' AS strRoyalty
FROM jobs
jobs .Select(x1 => new { x1.min_lvl, strRoyalty = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( ((decimal)(x1.min_lvl)) + " 1"
});
TopPage
ファイル名 No7.linq 関数名 CAST引数の説明 NULL 許容(int 型)を decimal(5, 2)型に変換する
T-SQL SELECT au_id, royaltyper, CAST(royaltyper AS decimal(5,2)) AS string1
FROM titleauthors WHERE au_id = '172-32-1176' LINQ コード /* LINQ to SQL と異なる */ titleauthors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id, x1.royaltyper, string1 = ((decimal?)Math.Round((decimal)(x1.royaltyper), 2)) });
TopPage
ファイル名 No7_2.linq 関数名 CAST引数の説明 NULL 禁止(tinyint 型)を decimal(5, 2)型に変換する
T-SQL SELECT min_lvl, CAST(min_lvl AS decimal(5,2)) AS string1
FROM jobs LINQ コード /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, string1 = Math.Round((decimal)(x1.min_lvl), 2) });
TopPage
ファイル名 No7_3.linq 関数名 CAST引数の説明 NULL 許容(int 型)を decimal(5, 2)型に変換する:NULL 出力
T-SQL SELECT title_id, royalty, CAST(royalty AS decimal(5, 2)) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = ((decimal?)Math.Round((decimal)(x1.royalty), 2)) });
TopPage
ファイル名 No7_4.linq 関数名 CAST引数の説明 NULL 許容(int 型)を decimal(5)型に変換する
T-SQL SELECT title_id, royalty, CAST(royalty AS decimal(5)) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = ((decimal?)Math.Round((decimal)(x1.royalty), 0)) });
TopPage
ファイル名 No7_5.linq 関数名 CAST引数の説明 NULL 許容(int 型)を decimal 型に変換する
T-SQL SELECT title_id, royalty, CAST(royalty AS decimal) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = ((decimal?)Math.Round((decimal)(x1.royalty), 0))
});
TopPage
ファイル名 No7_6.linq
関数名 CAST
引数の説明 NULL 禁止(tinyint 型)を decimal(5)型に変換する
T-SQL SELECT min_lvl, CAST(min_lvl AS decimal(5)) AS string1
FROM jobs LINQ コード /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, string1 = Math.Round((decimal)(x1.min_lvl), 0) });
TopPage
ファイル名 No7_7.linq 関数名 CAST引数の説明 NULL 禁止(tinyint 型)を decimal 型に変換する
T-SQL SELECT min_lvl, CAST(min_lvl AS decimal) AS string1
FROM jobs LINQ コード /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, string1 = Math.Round((decimal)(x1.min_lvl), 0) });
TopPage
ファイル名 No7_8.linq 関数名 CAST引数の説明 NULL 許容(int 型)を int 型に変換する
T-SQL SELECT title_id, royalty, CAST(royalty AS int) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles
.Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new
x1.title_id, x1.royalty, string1 = (x1.royalty) });
TopPage
ファイル名 No7_9 関数名 CAST引数の説明 NULL 禁止(tinyint 型)を int 型に変換する
T-SQL SELECT min_lvl, cast(min_lvl AS int) AS string1
FROM jobs LINQ コード /* LINQ to SQL と同一 */ jobs .Select(x1 => new { x1.min_lvl, string1 = (x1.min_lvl) });
TopPage
ファイル名 No7_10.linq 関数名 CAST引数の説明 NULL 許容(int 型)を money 型に変換する
T-SQL SELECT title_id, royalty, CAST(royalty AS money) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = ((decimal?)(x1.royalty)) });
TopPage
ファイル名 No7_11.linq 関数名 CAST引数の説明 NULL 禁止(tinyint 型)を money 型に変換する
T-SQL SELECT min_lvl, cast(min_lvl AS money) AS string1
LINQ コード /* LINQ to SQL と同一 */ jobs .Select(x1 => new { x1.min_lvl, string1 = (decimal)(x1.min_lvl) });
TopPage
ファイル名 No7_12.linq 関数名 CAST引数の説明 NULL 許容(int 型)を datetime 型に変換する
T-SQL SELECT title_id, royalty, CAST(royalty AS datetime) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.royalty, "1900/01/01") });
TopPage
ファイル名 No7_13.linq 関数名 CAST引数の説明 NULL 禁止(tinyint 型)を datetime 型に変換する
T-SQL SELECT min_lvl, CAST(min_lvl AS datetime) AS string1
FROM jobs LINQ コード /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.min_lvl, "1900/01/01") });
TopPage
ファイル名 No7_14.linq関数名 CAST
引数の説明 NULL 禁止(decimal(4, 2)型)を int 型に変換する
T-SQL SELECT discounttype, discount1, CAST(discount1 AS int) AS value
FROM discounts
LINQ コード /* LINQ to SQL と異なる(discount1 のみ) */
discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = (int)(x1.discount1) });
TopPage
ファイル名 No7_15.linq 関数名 CAST引数の説明 NULL 禁止(decimal(4, 2)型)を decimal(5, 1)型に変換する
T-SQL SELECT discounttype, discount1, CAST(discount1 AS decimal(5, 1)) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = Math.Round((decimal)(x1.discount1), 1) });
TopPage
ファイル名 No7_16.linq 関数名 CAST引数の説明 NULL 禁止(decimal(4, 2)型)を decimal(5)型に変換する
T-SQL SELECT discounttype, discount1, CAST(discount1 AS decimal(5)) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = Math.Round((decimal)(x1.discount1), 0) });
TopPage
ファイル名 No7_17.linq
関数名 CAST
引数の説明 NULL 禁止(decimal(4, 2)型)を money 型に変換する
T-SQL SELECT discounttype, discount1, CAST(discount1 AS money) AS value
FROM discounts
LINQ コード /* LINQ to SQL と異なる(discount1 のみ) */
discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = (decimal)(x1.discount1) });
TopPage
ファイル名 No7_18.linq 関数名 CAST引数の説明 NULL 禁止(decimal(4, 2)型)を varchar 型に変換する
T-SQL SELECT discounttype, discount1, CAST(discount1 AS varchar) + ' 1' AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.discount1), 5, 2) + " 1" });
TopPage
ファイル名 No7_19.linq 関数名 CAST引数の説明 NULL 禁止(decimal(4, 2)型)を datetime 型に変換する
T-SQL SELECT discounttype, discount1, CAST(discount1 AS datetime) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd(
"day", (double)x1.discount1, "1900/01/01") });
TopPage
ファイル名 No7_20.linq
関数名 CAST
引数の説明 NULL 許容(money 型)を int 型に変換する
T-SQL SELECT title_id, price, CAST(price AS int) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = ((int?)(x1.price)) });
TopPage
ファイル名 No7_21.linq 関数名 CAST引数の説明 NULL 許容(money 型)を decimal(5, 1)型に変換する
T-SQL SELECT title_id, price, CAST(price AS decimal(5, 1)) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = ((decimal?)Math.Round((decimal)(x1.price), 1)) });
TopPage
ファイル名 No7_22.linq 関数名 CAST引数の説明 NULL 許容(money 型)を decimal(5)型に変換する
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = ((decimal?)Math.Round((decimal)(x1.price), 0)) });
TopPage
ファイル名 No7_23.linq 関数名 CAST引数の説明 NULL 許容(money 型)を money 型に変換する
T-SQL SELECT title_id, price, CAST(price AS money) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = (x1.price) });
TopPage
ファイル名 No7_24.linq 関数名 CAST引数の説明 NULL 許容(money 型)を varchar 型に変換する
T-SQL SELECT title_id, price, CAST(price AS varchar) + ' 1' AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.price), 19, 4) + " 1"
});
TopPage
ファイル名 No7_25.linq
関数名 CAST
引数の説明 NULL 許容(money 型)を datetime 型に変換する
T-SQL SELECT title_id, price, CAST(price AS datetime) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (double)(x1.price), "1900/01/01") });
TopPage
ファイル名 No7_26.linq 関数名 CAST引数の説明 NULL 許容(char 型)を int 型に変換する
T-SQL SELECT discounttype, stor_id, CAST(stor_id AS int) AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = x1.stor_id == null ? null : (int?)int.Parse(x1.stor_id) });
TopPage
ファイル名 No7_27.linq
関数名 CAST
引数の説明 NULL 許容(char 型)を int 型に変換する:1 加算
T-SQL SELECT discounttype, stor_id, CAST(stor_id AS int) + 1 AS value
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は 警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .ToList() .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null : (int?)int.Parse(x1.stor_id)) + 1 });
TopPage
ファイル名 No7_28.linq
関数名 CAST
引数の説明 NULL 許容(char 型)を decial(5, 1)型に変換する
T-SQL SELECT discounttype, stor_id, CAST(stor_id AS decimal(5, 1)) AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null : (decimal?)Math.Round((decimal) ((decimal?)decimal.Parse(x1.stor_id)), 1))
});
TopPage
ファイル名 No7_29.linq
関数名 CAST
引数の説明 NULL 禁止(char 型)を int 型に変換する
T-SQL SELECT pub_id, country, cast(pub_id AS int) AS value
FROM publishers
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = int.Parse(x1.pub_id) });
TopPage
ファイル名 No7_30.linq
関数名 CAST
引数の説明 NULL 許容(char 型)を decimal(5)型に変換する
T-SQL SELECT discounttype, stor_id, CAST(stor_id AS decimal(5)) AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .ToList() .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null : (decimal?)Math.Round((decimal) ((decimal?)decimal.Parse(x1.stor_id)), 0))
});
TopPage
ファイル名 No7_31.linq
関数名 CAST
引数の説明 NULL 禁止(char 型)を decimal(5, 1)型に変換する
T-SQL SELECT pub_id, country, CAST(pub_id AS decimal(5, 1)) AS value
FROM publishers
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = Math.Round((decimal)(decimal.Parse(x1.pub_id)), 1) });
TopPage
ファイル名 No7_32.linq 関数名 CAST引数の説明 NULL 許容(char 型)を money 型に変換する
T-SQL SELECT discounttype, stor_id, CAST(stor_id AS money) AS value
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は 警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null :
(decimal?)decimal.Parse(x1.stor_id)) });
TopPage
ファイル名 No7_33.linq
関数名 CAST
引数の説明 NULL 禁止(char 型)を money 型に変換する
T-SQL SELECT pub_id, country, CAST(pub_id AS money) AS value
FROM publishers
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = decimal.Parse(x1.pub_id) });
TopPage
ファイル名 No7_34.linq 関数名 CAST引数の説明 NULL 許容(char 型)を varchar 型に変換する
T-SQL SELECT discounttype, stor_id, CAST(stor_id AS varchar) AS value
FROM discounts LINQ コード /* LINQ to SQL と同一 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id, value = (x1.stor_id) });
TopPage
ファイル名 No7_35.linq
関数名 CAST
引数の説明 NULL 禁止(char 型)を varchar 型に変換する
T-SQL SELECT pub_id, country, cast(pub_id AS varchar) AS value
FROM publishers LINQ コード /* LINQ to SQL と同一 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = (x1.pub_id) });
TopPage
ファイル名 No7_36.linq 関数名 CAST 引数の説明 文字列リテラルで表した時間を datetime 型に変換するT-SQL SELECT pub_id, country, CAST('10/08/23 18:33:44' AS datetime) AS value
FROM publishers LINQ コード /* LINQ to SQL と異なる */ publishers .Select(x1 => new { x1.pub_id, x1.country,
value = new DateTime(10, 08, 23, 18, 33, 44) });
TopPage
ファイル名 No7_37.linq
関数名 CAST
引数の説明 NULL 禁止(datetime 型)を int 型に変換する
T-SQL SELECT stor_id, ord_date, CAST(ord_date AS int) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date,
value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No7_38.linq 関数名 CAST引数の説明 NULL 禁止(datetime 型)を decimal(7, 1)型に変換する
T-SQL SELECT stor_id, ord_date, CAST(ord_date AS decimal(7, 1)) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No7_39.linq 関数 CAST引数の説明 NULL 禁止(datetime 型)を decimal(7)型に変換する
T-SQL SELECT stor_id, ord_date, CAST(ord_date AS decimal(7)) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No7_40.linq 関数名 CAST引数の説明 NULL 禁止(datetime 型)を money 型に変換する
T-SQL SELECT stor_id, ord_date, CAST(ord_date AS money) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No7_41.linq 関数名 CAST引数の説明 NULL 禁止(datetime 型)を varchar 型に変換する
T-SQL SELECT stor_id, ord_date, CAST(ord_date AS varchar) AS value
FROM sales
WHERE stor_id = '6380'
LINQ コード /* LINQ to Entities では、ToString メソッドは認識されないため、SQLCompiler
は警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = (x1.ord_date).ToString() });
TopPage
ファイル名 No7_42.linq 関数名 CAST引数の説明 NULL 禁止(datetime 型)を datetime 型に変換する
T-SQL SELECT stor_id, ord_date, cast(ord_date AS datetime) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と同一 */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new
{ x1.stor_id, x1.ord_date, value = (x1.ord_date) });
TopPage
ファイル名 No8.linq 関数名 CEILING 引数の説明 NULL 許容(money 型)T-SQL SELECT price, CEILING(price) AS price
FROM titles WHERE pub_id = '0736' LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => x1.pub_id == "0736") .Select(x1 => new { root_alias_1 = x1.price, root_alias_2 = ((decimal?)Math.Ceiling((decimal)(x1.price))) });
TopPage
ファイル名 No8_2.linq 関数名 CEILING引数の説明 NULL 許容(money 型):NULL 出力
T-SQL SELECT price, CEILING(price) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { root_alias_1 = x1.price, root_alias_2 = ((decimal?)Math.Ceiling((decimal)(x1.price))) });
TopPage
ファイル名 No8_3.linq 関数名 CEILING 引数の説明 NULL 禁止(decimal(4, 2)型)FROM discounts
LINQ コード /* LINQ to SQL と異なる(discount1 のみ) */
discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = Math.Ceiling(x1.discount1) });
TopPage
ファイル名 No9.linq 関数名 CHAR 引数の説明 NULL 許容(int 型)T-SQL SELECT royaltyper, CHAR(royaltyper)
FROM titleauthors LINQ コード /* LINQ to SQL と異なる */ titleauthors .Select(x1 => new { x1.royaltyper, root_alias_2 = (System.Data.Objects.SqlClient.SqlFunctions.Char( x1.royaltyper)) });
TopPage
ファイル名 No9_2.linq 関数名 CHAR引数の説明 NULL 許容(int 型):NULL 出力
T-SQL SELECT discounttype, lowqty, CHAR(lowqty) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.lowqty, value = (System.Data.Objects.SqlClient.SqlFunctions.Char(x1.lowqty)) });
TopPage
ファイル名 No9_3.linq 関数名 CHAR引数の説明 NULL 禁止(tinyint 型)
T-SQL SELECT min_lvl, CHAR(min_lvl) AS value
FROM jobs LINQ コード /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, value = System.Data.Objects.SqlClient.SqlFunctions.Char(x1.min_lvl) });
TopPage
ファイル名 No10.linq 関数名 COALESCE 引数の説明 NULL 許容(money 型)と 0.0T-SQL SELECT pub_id, COALESCE(price, 0.0) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と同一 */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { x1.pub_id,
price = x1.price != null ? x1.price : 0.0m == 0.0m ? 0.0m : 1
});
TopPage
ファイル名 No10_2.linq
関数名 COALESCE
引数の説明 NULL 許容(money 型)と 0
T-SQL SELECT pub_id, COALESCE(price, 0) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と同一 */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { x1.pub_id,
price = x1.price != null ? x1.price : 0 == 0 ? 0 : 1
});
ファイル名 No10_3.linq
関数名 COALESCE
引数の説明 NULL 許容(money 型)と 0 と NULL 許容(money 型)
T-SQL SELECT pub_id, COALESCE(price, 0, advance) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と同一 */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { x1.pub_id,
price = x1.price != null ? x1.price : 0 == 0 ? 0 : x1.advance !=
null ? x1.advance : null });
TopPage
ファイル名 No10_4.linq
関数名 COALESCE
引数の説明 NULL 許容(money 型)と 0.0 と NULL 許容(money 型)
T-SQL SELECT pub_id, COALESCE(price, 0.0, advance) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と同一 */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { x1.pub_id,
price = x1.price != null ? x1.price : 0.0 == 0.0 ? 0.0m : x1.advance
!= null ? x1.advance : null });
TopPage
ファイル名 No10_5.linq
関数名 COALESCE
引数の説明 NULL 許容(money 型)と 0 と NULL 許容(int 型)
T-SQL SELECT pub_id, COALESCE(price, 0, royalty) AS price
FROM titles
WHERE pub_id = '1389'
LINQ コード /* LINQ to SQL と同一 */
.Where(x1 => x1.pub_id == "1389") .Select(x1 => new
{
x1.pub_id,
price = x1.price != null ? x1.price : 0 == 0 ? 0 : x1.royalty != null ? x1.royalty : null
});
TopPage
ファイル名 No10_7.linq
関数名 COALESCE
引数の説明 NULL 許容(char 型)と NULL 禁止(varchar 型)
T-SQL SELECT stor_id, discounttype, COALESCE(stor_id, discounttype) AS price
FROM discounts LINQ コード /* LINQ to SQL と同一 */ discounts .Select(x1 => new { x1.stor_id, x1.discounttype,
price = x1.stor_id != null ? x1.stor_id : x1.discounttype != null ? x1.discounttype : "A"
});
TopPage
ファイル名 No10_8.linq
関数名 COALESCE
引数の説明 NULL 許容(char 型)と文字列リテラル
T-SQL SELECT stor_id, discounttype, COALESCE(stor_id, 'null') AS price
FROM discounts LINQ コード /* LINQ to SQL と同一 */ discounts .Select(x1 => new { x1.stor_id, x1.discounttype,
price = x1.stor_id != null ? x1.stor_id : "null" == "null" ? "null" : "A"
});
TopPage
ファイル名 No10_9.linq
引数の説明 NULL 許容(money 型)と NULL 許容(money 型)
T-SQL SELECT pub_id, COALESCE(price, advance) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と同一 */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { x1.pub_id,
price = x1.price != null ? x1.price : x1.advance != null ? x1.advance : null
});
TopPage
ファイル名 No10_10.linq
関数名 COALESCE
引数の説明 NULL 禁止(datetime 型)と GETDATE()関数
T-SQL SELECT pub_id, COALESCE(pubdate, GETDATE()) AS price
FROM titles WHERE pub_id = '1389' LINQ コード /* LINQ to SQL と同一 */ titles .Where(x1 => x1.pub_id == "1389") .Select(x1 => new { x1.pub_id,
price = x1.pubdate != null ? x1.pubdate : DateTime.Now == DateTime.Now ? DateTime.Now : DateTime.Now
});
TopPage
ファイル名 No11.linq
関数名 CONVERT
引数の説明 NULL 許容(int 型)を varchar 型に変換する
T-SQL SELECT au_id, royaltyper, CONVERT(varchar, royaltyper) AS string1
FROM titleauthors WHERE au_id = '172-32-1176' LINQ コード /* LINQ to SQL と異なる */ titleauthors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id, x1.royaltyper,
string1 = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.royaltyper)) });
TopPage
ファイル名 No12.linq 関数名 CONVERT引数の説明 NULL 許容(int 型)を decimal(5, 1)型に変換する
T-SQL SELECT au_id, royaltyper, CONVERT(decimal(5,1), royaltyper) AS string1
FROM titleauthors WHERE au_id = '172-32-1176' LINQ コード /* LINQ to SQL と異なる */ titleauthors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id, x1.royaltyper, string1 = ((decimal?)Math.Round((decimal)(x1.royaltyper), 1)) });
TopPage
ファイル名 No12_2.linq 関数名 CONVERT引数の説明 NULL 禁止(tinyint 型)を decimal(5, 1)型に変換する
T-SQL SELECT min_lvl, CONVERT(decimal(5,1), min_lvl) AS string1
FROM jobs LINQ /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, string1 = Math.Round((decimal)x1.min_lvl, 1) });
TopPage
ファイル名 No12_4.linq 関数名 CONVERT引数の説明 NULL 許容(int 型)を decimal(5)型に変換する
T-SQL SELECT title_id, royalty, CONVERT(decimal(5), royalty) AS string1
FROM titles
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = ((decimal?)Math.Round((decimal)(x1.royalty), 0)) });
TopPage
ファイル名 No12_8.linq 関数名 CONVERT引数の説明 NULL 許容(int 型)を int 型に変換する
T-SQL SELECT title_id, royalty, CONVERT(int, royalty) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = (x1.royalty) });
TopPage
ファイル名 No12_10.linq 関数名 CONVERT引数の説明 NULL 許容(int 型)を money 型に変換する
T-SQL SELECT title_id, royalty, CONVERT(money, royalty) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = ((decimal?)(x1.royalty)) });
TopPage
ファイル名 No12_12.linq
関数名 CONVERT
引数の説明 NULL 許容(int 型)を datetime 型に変換する
T-SQL SELECT title_id, royalty, CONVERT(datetime, royalty) AS string1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartWith("MC")) .Select(x1 => new { x1.title_id, x1.royalty, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.royalty, "1900/01/01") });
TopPage
ファイル名 No12_13.linq 関数名 CONVERT引数の説明 NULL 禁止(tinyint 型)を datetime 型に変換する
T-SQL SELECT min_lvl, CONVERT(datetime, min_lvl) AS string1
FROM jobs LINQ コード /* LINQ to SQL と異なる */ jobs .Select(x1 => new { x1.min_lvl, string1 = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", x1.min_lvl, "1900/01/01") });
TopPage
ファイル名 No12_14.linq 関数名 CONVERT引数の説明 NULL 禁止(decimal(4, 2)型)を int 型に変換する
T-SQL SELECT discounttype, discount1, CONVERT(int, discount1) AS value
FROM discounts
LINQ コード /* LINQ to SQL と異なる(discount1 のみ) */
discounts
.Select(x1 => new {
x1.discount1, value = (int)(x1.discount1) });
TopPage
ファイル名 No12_15.linq 関数名 CONVERT引数の説明 NULL 禁止(decimal(4, 2)型)を decimal(5, 1)型に変換する
T-SQL SELECT discounttype, discount1, CONVERT(decimal(5, 1), discount1) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount, value = Math.Round((decimal)(x1.discount), 1) });
TopPage
ファイル名 No12_16.linq 関数名 CONVERT引数の説明 NULL 禁止(decimal(4, 2)型)を decimal(5)型に変換する
T-SQL SELECT discounttype, discount1, CONVERT(decimal(5), discount1) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = Math.Round((decimal)(x1.discount1), 0) });
TopPage
ファイル名 No12_17.linq 関数名 CONVERT引数の説明 NULL 禁止(decimal(4, 2)型)を money 型に変換する
T-SQL SELECT discounttype, discount1, CONVERT(money, discount1) AS value
FROM discounts
LINQ コード /* LINQ to SQL と異なる */
.Select(x1 => new { x1.discounttype, x1.discount1, value = (x1.discount1) });
TopPage
ファイル名 No12_18.linq 関数名 CONVERT引数の説明 NULL 禁止(decimal(4, 2)型)を varchar 型に変換する
T-SQL SELECT discounttype, discount1, CONVERT(varchar, discount1) + ' 1' AS
value FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.discount1), 5, 2) + " 1" });
TopPage
ファイル名 No12_19.linq 関数名 CONVERT引数の説明 NULL 禁止(decimal(4, 2)型)を datetime 型に変換する
T-SQL SELECT discounttype, discount1, CONVERT(datetime, discount1) AS value
FROM discounts LINQ コード /* LINQ to SQL と異なる */ discounts .Select(x1 => new { x1.discounttype, x1.discount1, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (double)x1.discount1, "1900/01/01") });
TopPage
ファイル名 No12_20.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を int 型に変換する
T-SQL SELECT title_id, price, CONVERT(int, price) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = (int?)(x1.price) });
TopPage
ファイル名 No12_21.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を decimal(5, 1)型に変換する
T-SQL SELECT title_id, price, CONVERT(decimal(5, 1), price) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = ((decimal?)Math.Round((decimal)(x1.price), 1)) });
TopPage
ファイル名 No12_22.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を decimal(5)型に変換する
T-SQL SELECT title_id, price, CONVERT(decimal(5), price) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price,
value = ((decimal?)Math.Round((decimal)(x1.price), 0)) });
TopPage
ファイル名 No12_23.linq
関数名 CONVERT
引数の説明 NULL 許容(money 型)を money 型に変換する
T-SQL SELECT title_id, price, CONVERT(money, price) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = (x1.price) });
TopPage
ファイル名 No12_24.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を varchar 型に変換する
T-SQL SELECT title_id, price, CONVERT(varchar, price) + ' 1' AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.StringConvert( (decimal)(x1.price), 5, 2) + " 1" });
TopPage
ファイル名 No12_25.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を datetime 型に変換する
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる */ titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.title_id, x1.price, value = System.Data.Objects.SqlClient.SqlFunctions.DateAdd( "day", (double)x1.price, "1900/01/01") });
TopPage
ファイル名 No12_26.linq 関数名 CONVERT引数の説明 NULL 許容(char 型)を int 型に変換する
T-SQL SELECT discounttype, stor_id, CONVERT(int, stor_id) AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = x1.stor_id == null ? null : (int?)int.Parse(x1.stor_id) });
TopPage
ファイル名 No12_27.linq
関数名 CONVERT
引数の説明 NULL 許容(char 型)を int 型に変換する:1 加算
T-SQL SELECT discounttype, stor_id, CONVERT(int, stor_id) + 1 AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null : (int?)int.Parse(x1.stor_id)) + 1 });
TopPage
ファイル名 No12_28.linq
関数名 CONVERT
引数の説明 NULL 許容(char 型)を decimal(5, 1)型に変換する
T-SQL SELECT discounttype, stor_id, CONVERT(decimal(5, 1), stor_id) AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null : (decimal?)Math.Round( (decimal)((decimal?)decimal.Parse(x1.stor_id)), 1)) });
TopPage
ファイル名 No12_29.linq
関数名 CONVERT
引数の説明 NULL 禁止(char 型)を int 型に変換する
T-SQL SELECT pub_id, country, CONVERT(int, pub_id) AS value
FROM publishers
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = int.Parse(x1.pub_id) });
TopPage
ファイル名 No12_30.linq 関数名 CONVERT引数の説明 NULL 許容(char 型)を decimal(5)型に変換する
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .ToList() .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.stor_id == null ? null : (decimal?)Math.Round( (decimal)((decimal?)decimal.Parse(x1.stor_id)), 0)) });
TopPage
ファイル名 No12_31.linq
関数名 CONVERT
引数の説明 NULL 禁止(char 型)を decimal(5, 1)型に変換する
T-SQL SELECT pub_id, country, CONVERT(decimal(5, 1), pub_id) AS value
FROM publishers
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = Math.Round((decimal)(decimal.Parse(x1.pub_id)), 1) });
TopPage
ファイル名 No12_32.linq 関数名 CONVERT引数の説明 NULL 許容(char 型)を money 型に変換する
T-SQL SELECT discounttype, stor_id, CONVERT(money, stor_id) AS value
FROM discounts
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = x1.stor_id == null ? null : (decimal?)decimal.Parse(x1.stor_id) });
TopPage
ファイル名 No12_33.linq 関数名 CONVERT引数の説明 NULL 禁止(char 型)を money 型に変換する
T-SQLL SELECT pub_id, country, CONVERT(money, pub_id) AS value
FROM publishers
LINQ コード /* LINQ to Entities では、Parse メソッドは認識されないため、SQLCompiler は
警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = decimal.Parse(x1.pub_id) });
TopPage
ファイル名 No12_34.linq 関数名 CONVERT引数の説明 NULL 許容(char 型)を varchar 型に変換する
T-SQL SELECT discounttype, stor_id, CONVERT(varchar, stor_id) AS value
FROM discounts LINQ コード /* LINQ to SQL と同一 */ discounts .Select(x1 => new { x1.discounttype, x1.stor_id, value = (x1.stor_id) });
TopPage
ファイル名 No12_35.linq 関数名 CONVERT引数の説明 NULL 禁止(char 型)を varchar 型に変換する
T-SQL SELECT pub_id, country, CONVERT(varchar, pub_id) AS value
LINQ コード /* LINQ to SQL と同一 */ publishers .Select(x1 => new { x1.pub_id, x1.country, value = (x1.pub_id) });
TopPage
ファイル名 No12_36.linq 関数名 CONVERT 引数の説明 文字列リテラルで表した時間を datetime 型に変換するT-SQL SELECT pub_id, country, CONVERT(datetime, '10/08/23 18:33:44') AS value
FROM publishers LINQ コード /* LINQ to SQL と異なる */ publishers .Select(x1 => new { x1.pub_id, x1.country,
value = new DateTime(10, 08, 23, 18, 33, 44) });
TopPage
ファイル名 No12_37.linq
関数名 CONVERT
引数の説明 NULL 禁止(datetime 型)を int 型に変換する
T-SQL SELECT stor_id, ord_date, CONVERT(int, ord_date) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No12_38.linq関数名 CONVERT
引数の説明 NULL 禁止(datetime 型)を decimal(7, 1)型に変換する
T-SQL SELECT stor_id, ord_date, CONVERT(decimal(7, 1), ord_date) AS value
FROM sales WHERE stor_id = '6380' LINQ /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No12_39.linq 関数名 CONVERT引数の説明 NULL 禁止(datetime 型)を decimal(7)型に変換する
T-SQL SELECT stor_id, ord_date, CONVERT(decimal(7), ord_date) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と異なる */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No12_40.linq 関数名 CONVERT引数の説明 NULL 禁止(datetime 型)を money 型に変換する
T-SQL SELECT stor_id, ord_date, CONVERT(money, ord_date) AS value
FROM sales
WHERE stor_id = '6380'
LINQ コード /* LINQ to SQL と異なる */
sales
.Select(x1 => new { x1.stor_id, x1.ord_date, value = System.Data.Objects.SqlClient.SqlFunctions.DateDiff( "day", "1900/01/01", x1.ord_date) });
TopPage
ファイル名 No12_41.linq 関数名 CONVERT引数の説明 NULL 禁止(datetime 型)を varchar 型に変換する
T-SQL SELECT stor_id, ord_date, CONVERT(varchar, ord_date) AS value
FROM sales
WHERE stor_id = '6380'
LINQ コード /* LINQ to Entities では、ToString メソッドは認識されないため、SQLCompiler
は警告を表示する。続行の場合は下記のコードに ToList メソッドを手作業で 追加して実行することになる。 */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = (x1.ord_date).ToString() });
TopPage
ファイル名 No12_42.linq 関数名 CONVERT引数の説明 NULL 禁止(datetime 型)を datetime 型に変換する
T-SQL SELECT stor_id, ord_date, CONVERT(datetime, ord_date) AS value
FROM sales WHERE stor_id = '6380' LINQ コード /* LINQ to SQL と同一 */ sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.stor_id, x1.ord_date, value = (x1.ord_date) });
TopPage
ファイル名 No12_50.linq
関数名 CONVERT
引数の説明 NULL 禁止(datetime 型)を[yy/MM/dd]形式で varchar 型に変換する
T-SQL SELECT pubdate, CONVERT(varchar, pubdate, 11) AS value
FROM titles LINQ コード /* LINQ to SQL と同一 */ titles .ToList() .Select(x1 => new { x1.pubdate, value = (x1.pubdate).ToString("yy/MM/dd") });
TopPage
ファイル名 No12_51.linq 関数名 CONVERT引数の説明 NULL 禁止(datetime 型)を[yyyy/MM/dd]形式で varchar 型に変換する
T-SQL SELECT pubdate, CONVERT(varchar, pubdate, 111) AS value
FROM titles LINQ コード /* LINQ to SQL と同一 */ titles .ToList() .Select(x1 => new { x1.pubdate, value = (x1.pubdate).ToString("d") });
TopPage
ファイル名 No12_52.linq 関数名 CONVERT引数の説明 NULL 禁止(datetime 型)を[yyyy-MM-dd HH:mm:ss]形式で varchar 型に変換する
T-SQL SELECT pubdate, CONVERT(varchar, pubdate, 20) AS value
FROM titles LINQ コード /* LINQ to SQL と同一 */ titles .ToList() .Select(x1 => new { x1.pubdate, value = (x1.pubdate).ToString("yyyy-MM-dd HH:mm:ss") });
TopPage
ファイル名 No12_53.linq
関数名 CONVERT
引数の説明 NULL 禁止(datetime 型)を[yyyy-MM-dd HH:mm:ss]形式で varchar 型に変換する
T-SQL SELECT pubdate, CONVERT(varchar, pubdate, 120) AS value
FROM titles LINQ コード /* LINQ to SQL と同一 */ titles .ToList() .Select(x1 => new { x1.pubdate, value = (x1.pubdate).ToString("yyyy-MM-dd HH:mm:ss") });
TopPage
ファイル名 No12_54.linq 関数名 CONVERT引数の説明 (Northwind データベース)NULL 許容(datetime 型)を[yy/MM/dd]形式で varchar 型に
変換する
T-SQL SELECT ShippedDate, CONVERT(varchar, ShippedDate, 11) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード /* LINQ to SQL と同一 */
Orders .ToList()
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = (x1.ShippedDate == null ? null :
(x1.ShippedDate).GetValueOrDefault().ToString("yy/MM/dd")) });
TopPage
ファイル名 No12_55.linq
関数名 CONVERT
引数の説明 (Northwind データベース)NULL 許容(datetime 型)を[yyyy/MM/dd]形式で varchar 型
に変換する
T-SQL SELECT ShippedDate, CONVERT(varchar, ShippedDate, 111) AS value
FROM Orders
LINQ コード /* LINQ to SQL と同一 */ Orders
.ToList()
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = (x1.ShippedDate == null ? null :
(x1.ShippedDate).GetValueOrDefault().ToString("d")) });
TopPage
ファイル名 No12_56.linq
関数名 CONVERT
引数の説明 (Northwind データベース)NULL 許容(datetime 型)を[yyyy-MM-dd HH:mm:ss]形式で
varchar 型に変換する
T-SQL SELECT ShippedDate, CONVERT(varchar, ShippedDate, 20) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード /* LINQ to SQL と同一 */
Orders .ToList()
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = (x1.ShippedDate == null ? null :
(x1.ShippedDate).GetValueOrDefault().ToString( "yyyy-MM-dd HH:mm:ss")) });
TopPage
ファイル名 No12_57.linq 関数名 CONVERT引数の説明 (Northwind データベース)NULL 許容(datetime 型)を[yyyy-MM-dd HH:mm:ss]形式で
varchar 型に変換する
T-SQL SELECT ShippedDate, CONVERT(varchar, ShippedDate, 120) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード /* LINQ to SQL と同一 */
Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .ToList()
.Select(x1 => new {
x1.ShippedDate,
value = (x1.ShippedDate == null ? null :
(x1.ShippedDate).GetValueOrDefault().ToString( "yyyy-MM-dd HH:mm:ss")) });
TopPage
ファイル名 No12_60.linq 関数名 CONVERT 引数の説明 文字列リテラルで表した時間([yy/MM/dd]形式)を datetime 型に変換するT-SQL SELECT pubdate, CONVERT(datetime, '10/08/27', 11) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id).StartsWith("MC")) .ToList() .Select(x1 => new { x1.pubdate,
value = DateTime.ParseExact("10/08/27", "yy/MM/dd", null) });
TopPage
ファイル名 No12_61.linq
関数名 CONVERT
引数の説明 文字列リテラルで表した時間([yyyy/MM/dd]形式)を datetime 型に変換する
T-SQL SELECT pubdate, CONVERT(datetime, '2010/08/27', 111) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id).StartsWith("MC")) .ToList() .Select(x1 => new { x1.pubdate,
value = DateTime.ParseExact("2010/08/27", "d", null) });
TopPage
ファイル名 No12_62.linq
引数の説明 文字列リテラルで表した時間([yyyy-MM-dd HH:mm:ss]形式)を datetime 型に変換す る
T-SQL SELECT pubdate, CONVERT(datetime, '2010-08-27 14:39:39', 20) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id(.StartsWith("MC")) .ToList() .Select(x1 => new { x1.pubdate, value = DateTime.ParseExact("2010-08-27 14:39:39", "yyyy-MM-dd HH:mm:ss", null) });
TopPage
ファイル名 No12_63.linq 関数名 CONVERT 引数の説明 文字列リテラルで表した時間([yyyy-MM-dd HH:mm:ss]形式)を datetime 型に変換す るT-SQL SELECT pubdate, CONVERT(datetime, '2010-08-27 14:39:39', 120) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles .Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new { x1.pubdate, value = DateTime.ParseExact("2010-08-27 14:39:39", "yyyy-MM-dd HH:mm:ss", null) });
TopPage
ファイル名 No12_70.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を位取り無しで小数 2 桁の varchar 型に変換する
T-SQL SELECT advance, CONVERT(varchar, advance, 0) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles
.Where(x1 => (x1.title_id).StartsWith("MC")) .ToList()
.Select(x1 => new {
x1.advance,
value = (x1.advance == null ? null :
(x1.advance).GetValueOrDefault().ToString("F2", System.Globalization.CultureInfo.InvariantCulture)) });
TopPage
ファイル名 No12_71.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を位取り有りで小数 2 桁の varchar 型に変換する
T-SQL SELECT advance, CONVERT(varchar, advance, 1) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles
.Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new
{
x1.advance,
value = (x1.advance == null ? null :
(x1.advance).GetValueOrDefault().ToString("N2", System.Globalization.CultureInfo.InvariantCulture)) });
TopPage
ファイル名 No12_72.linq 関数名 CONVERT引数の説明 NULL 許容(money 型)を位取り無しで小数 4 桁の varchar 型に変換する
T-SQL SELECT advance, CONVERT(varchar, advance, 2) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード /* LINQ to SQL と異なる(LIKE 述語のみ) */
titles
.Where(x1 => (x1.title_id).StartsWith("MC")) .Select(x1 => new
{
x1.advance,
value = (x1.advance == null ? null :
(x1.advance).GetValueOrDefault().ToString("F4", System.Globalization.CultureInfo.InvariantCulture)) });