< 一覧表 > SQLCompiler for LINQ のサンプル ( 関数サンプル 2) 引数の説明リンク 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 型 ) 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 型 ) 表 14 表 15 表 15_2 表 15_3 表 15_4 表 15_5 表 15_6 表 15_7 表 16 表 16_2 表 16_3 表 16_4 表 16_5 No16_6.linq DATEDIFF 日付要素 = month, 表 16_6 1
開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 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 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 No27.linq ISNUMERIC NULL 許容 (money 型 ) と NULL 許容 (int 型 ) 表 27 2
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 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 No37_3.linq NULLIF NULL 禁止 (char 型 ) と文字列リテラルを比較する表 37_3 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 型 ) を比較する No38.linq REPLACE 対象文字列 = NULL 禁止 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル No38_2.linq REPLACE 対象文字列 = NULL 許容 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル No38_3.linq REPLACE 対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = NULL 許容 (char 型 ), 置換文字列 = 文字列リテラル 表 37_10 表 38 表 38_2 表 38_3 3
No38_4.linq REPLACE 対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = NULL 許容 (char 型 ) 表 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 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 型 ), 小数桁 = 整数リテラル 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 型 ), 対象位置 = 整数リテラル, 表 46 表 46_3 表 46_4 表 46_5 表 47 表 47_2 4
削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル 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 型 ), 開始位置 = 整数リテラル, 文字数 = 整数リテラル 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 型 ) 表 47_3 表 47_4 表 47_5 表 47_6 表 48 表 48_2 表 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 型 ) 5
SELECT pub_id, COUNT(price) AS cnt FROM GROUP BY pub_id.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") x1.pub_id, x1.pubdate, tomorrow = (x1.pubdate).adddays((int)(1)) 引数の説明 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 = (DateTime.Parse("1991-06-30")).AddDays((int)(1)) 6
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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.pubdate, x1.title_id, value = (x1.pubdate).adddays((int)((x1.title_id).length)) 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.pubdate, x1.royalty, value = x1.royalty == null? null : (DateTime?)(x1.pubdate).AddDays((int?)(x1.royalty)?? 0) 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) 7
x1.shippeddate, x1.orderid, value = x1.shippeddate == null? null : (DateTime?)((x1.ShippedDate)?? new DateTime(1900, 1, 1)).AddDays((int)(x1.OrderID)) No15_5.linq DATEADD 引数の説明 (Northwind データベース ) 日付要素 = day, 加算値 = NULL 許容 (int 型 ), 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, ShipVia, DATEADD(day, ShipVia, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.shipvia, value = x1.shippeddate == null? null : x1.shipvia == null? null : (DateTime?)((x1.ShippedDate)?? new DateTime(1900, 1, 1)).AddDays((int?)(x1.ShipVia)?? 0) 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 = (x1.pubdate).addmonths((int)(1)) 8
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 = (x1.pubdate).addyears((int)(1)) 引数の説明 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 = (DateTime.Parse("1990-01-01") - x1.ord_date).days/365 引数の説明 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) 9
x1.pubdate, today = DateTime.Now, diff = (DateTime.Now - x1.pubdate).days/365 No16_3.linq 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 = x1.shippeddate == null? null : (int?)((datetime.now - ((x1.shippeddate)?? new DateTime(1900, 1, 1))).Days/365) 引数の説明 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 = x1.shippeddate == null? null : (int?)((((x1.shippeddate)?? new DateTime(1900, 1, 1)) - DateTime.Now).Days/365) 10
No16_5.linq DATEDIFF 引数の説明 (Northwind データベース ) 日付要素 = year, 開始時間 = NULL 許容 (datetime 型 ), 終了時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, RequiredDate, DATEDIFF(year, ShippedDate, RequiredDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.requireddate, value = x1.requireddate == null? null : x1.shippeddate == null? null : (int?)((((x1.requireddate)?? new DateTime(1900, 1, 1)) - ((x1.shippeddate)?? new DateTime(1900, 1, 1))).Days/365) 引数の説明 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 = (int)((datetime.parse("1990-01-01") - x1.ord_date).days/30.4375) 引数の説明 No16_7.linq DATEDIFF 日付要素 = day, 開始時間 = NULL 禁止 (datetime 型 ), 終了時間 = 文字列リテラルの時間 SELECT ord_date, DATEDIFF(day, ord_date, '1990-01-01') AS diff 11
FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") x1.ord_date, diff = (DateTime.Parse("1990-01-01") - x1.ord_date).days/1 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 = x1.shippeddate == null? null : (int?)((int)((datetime.now - ((x1.shippeddate)?? new DateTime(1900, 1, 1))).Days/30.4375)) 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").ToList() x1.ord_date, namae = (x1.ord_date).month.tostring("00") 12
引数の説明 No18.linq DATENAME 日付要素 = month, 時間 = 文字列リテラルの時間 SELECT ord_date, DATENAME(month, '1994-10-14') AS namae FROM sales WHERE stor_id = '6380' sales.tolist().where(x1 => x1.stor_id == "6380") x1.ord_date, namae = (DateTime.Parse("1994-10-14")).Month.ToString("00") 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 = (x1.ord_date).year.tostring() 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") x1.ord_date, 13
namae = (x1.ord_date).day.tostring() No18_4.linq DATENAME 引数の説明 (Northwind データベース ) 日付要素 = month, 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, DATENAME(month, ShippedDate) 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)?? new DateTime(1900,1,1)).Month.ToString("00") 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 = x1.shippeddate == null? null : ((x1.shippeddate)?? new DateTime(1900,1,1)).Year.ToString() No18_6.linq DATENAME 引数の説明 (Northwind データベース ) 日付要素 = day, 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, DATENAME(day, ShippedDate) AS value FROM Orders 14
WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = x1.shippeddate == null? null : ((x1.shippeddate)?? new DateTime(1900,1,1)).Day.ToString() 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 = (x1.ord_date).month 引数の説明 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 = (DateTime.Parse("1994-10-14")).Month No20_2.linq DATEPART 15
引数の説明日付要素 = 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 = (x1.ord_date).year 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 = (x1.ord_date).day No20_4.linq DATEPART 引数の説明 (Northwind データベース ) 日付要素 = month, 時間 = NULL 許容 (datetime 型 ) SELECT ShippedDate, DATEPART(month, ShippedDate) AS value FROM Orders WHERE OrderID = 11008 OR OrderID = 11009 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, value = x1.shippeddate == null? null : (int?)((x1.shippeddate)?? new DateTime(1900,1,1)).Month 16
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 = (x1.ord_date).day 引数の説明 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 = (DateTime.Parse("1994-09-14")).Day 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 = x1.shippeddate == null? null : (int?)((x1.shippeddate)?? new DateTime(1900,1,1)).Day 17
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 = x1.price == null? null : (decimal?)math.floor(((decimal?)(x1.price))?? 0) No23_2.linq FLOOR 引数の説明 NULL 禁止 (decimal(4, 2) 型 ) SELECT discount, FLOOR(discount) AS price FROM x1.discount, price = Math.Floor(x1.discount) 引数の説明 No24.linq GETDATE なし SELECT ord_date, GETDATE() AS today FROM sales WHERE stor_id = '6380' sales.where(x1 => x1.stor_id == "6380") 18
x1.ord_date, today = DateTime.Now No25.linq ISDATE 引数の説明 NULL 禁止 (datetime 型 ) SELECT ord_date, ISDATE(ord_date) AS daytime FROM sales WHERE stor_id = '6380' 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 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%' 19
DateTime date1;.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, isdate1 = DateTime.TryParse("1900/01/01", out date1) == true? 1 : 0, isdate2 = x1.pub_id == null? 0 : DateTime.TryParse(x1.pub_id, out date1) == true? 1 : 0 No25_4.linq ISDATE 引数の説明 NULL 許容 (char 型 ) SELECT stor_id, ISDATE(stor_id) AS isdate1 FROM DateTime date1; x1.stor_id, isdate1 = x1.stor_id == null? 0 : DateTime.TryParse(x1.stor_id, out date1) == true? 1 : 0 引数の説明 No25_5.linq ISDATE 時間形式の整数リテラル SELECT title_id, ISDATE(19000101) AS isdate1, ISDATE(19000132) AS isdate2, ISDATE(1900) AS isdate3 FROM WHERE title_id like 'MC%' DateTime date1;.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, isdate1 = DateTime.TryParseExact((19000101).ToString(), (19000101).ToString().Length == 4? "yyyy" : "yyyymmdd", null, System.Globalization.DateTimeStyles.None, out date1) == true? 1 : 0, 20
isdate2 = DateTime.TryParseExact((19000132).ToString(), (19000132).ToString().Length == 4? "yyyy" : "yyyymmdd", null, System.Globalization.DateTimeStyles.None, out date1) == true? 1 : 0, isdate3 = DateTime.TryParseExact((1900).ToString(), (1900).ToString().Length == 4? "yyyy" : "yyyymmdd", null, System.Globalization.DateTimeStyles.None, out date1) == true? 1 : 0 No25_6.linq ISDATE 引数の説明 NULL 許容 (int 型 ) SELECT title_id, royalty, ISDATE(royalty) AS isdate1 FROM WHERE title_id LIKE 'MC%' DateTime date1;.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.royalty, isdate1 = x1.royalty == null? 0 : DateTime.TryParseExact((x1.royalty).ToString(), (x1.royalty).tostring().length == 4? "yyyy" : "yyyymmdd", null, System.Globalization.DateTimeStyles.None, out date1) == true? 1 : 0 No25_7.linq ISDATE 引数の説明 NULL 許容 (money 型 ) SELECT title_id, price, ISDATE(price) AS isdate1 FROM WHERE title_id like 'MC%'.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.price, isdate1 = 0 21
引数の説明 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'.Where(x1 => x1.title_id == "MC3026") x1.title_id, price = x1.price!= null? x1.price : 0, 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'.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 discount, ISNUMERIC(discount) AS value FROM 22
x1.discount, value = 1 No27_3.linq ISNUMERIC 引数の説明 NULL 許容 (char 型 ) SELECT stor_id, ISNUMERIC(stor_id) AS value FROM int int1; decimal dec1; x1.stor_id, value = x1.stor_id == null? 0 : (x1.stor_id).contains(".") == true? decimal.tryparse(x1.stor_id, out dec1) == true? 1 : 0 : int.tryparse(x1.stor_id, out int1) == true? 1 : 0 No27_4.linq ISNUMERIC 引数の説明 NULL 禁止 (char 型 ) SELECT pub_id, ISNUMERIC(pub_id) AS value FROM employee WHERE emp_id LIKE 'A%' int int1; decimal dec1; employees.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.emp_id, "A%")) x1.pub_id, value = (x1.pub_id).contains(".") == true? decimal.tryparse(x1.pub_id, out dec1) == true? 1 : 0 : int.tryparse(x1.pub_id, out int1) == true? 1 : 0 No27_5.linq 23
引数の説明 ISNUMERIC NULL 禁止 (char 型 ) と小数部を持つ文字列リテラルの数値 SELECT pub_id, ISNUMERIC(pub_id) AS value1, isnumeric('12.3') AS value2 FROM employee WHERE emp_id LIKE 'A%' int int1; decimal dec1; employees.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.emp_id, "A%")) x1.pub_id, value1 = (x1.pub_id).contains(".") == true? decimal.tryparse(x1.pub_id, out dec1) == true? 1 : 0 : int.tryparse(x1.pub_id, out int1) == true? 1 : 0, value2 = ("12.3").Contains(".") == true? decimal.tryparse("12.3", out dec1) == true? 1 : 0 : int.tryparse("12.3", out int1) == true? 1 : 0 No27_6.linq ISNUMERIC 引数の説明 NULL 禁止 (char 型 ) と NULL 禁止 (datetime 型 ) SELECT pub_id, ISNUMERIC(pub_id) AS value1, ISNUMERIC(hire_date) AS value2 FROM employee WHERE emp_id LIKE 'A%' int int1; decimal dec1; employees.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.emp_id, "A%")) x1.pub_id, value1 = (x1.pub_id).contains(".") == true? decimal.tryparse(x1.pub_id, out dec1) == true? 1 : 0 : int.tryparse(x1.pub_id, out int1) == true? 1 : 0, value2 = 0 引数の説明 No28.linq LEFT NULL 禁止 (varchar 型 ) から 2 文字分 SELECT title_id, LEFT(title_id, 2) AS topname FROM 24
WHERE title_id = 'BU1032'.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 FROM x1.stor_id, value = (x1.stor_id).substring(0, (int)(2)) 引数の説明 No28_3.linq LEFT NULL 禁止 (varchar 型 ) から NULL 許容 (smallint 型 ) 文字分 SELECT discounttype, lowqty, LEFT(discounttype, lowqty) AS value FROM 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 FROM 25
x1.stor_id, x1.lowqty, value = (x1.stor_id).substring(0, (int)(x1.lowqty)) No30.linq LEN 引数の説明 NULL 禁止 (char 型 ) SELECT title_id, LEN(type) AS length FROM WHERE title_id = 'BU1032'.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 FROM x1.stor_id, length = x1.stor_id == null? null : (int?)((x1.stor_id).length) No31.linq LOWER 引数の説明 NULL 禁止 (varchar 型 ) SELECT title_id, LOWER(title) AS komoji FROM 26
WHERE title_id = 'BU1032'.Where(x1 => x1.title_id == "BU1032") x1.title_id, komoji = (x1.title).tolower() No31_2.linq LOWER 引数の説明 NULL 許容 (char 型 ) SELECT state, LOWER(state) AS komoji FROM publishers publishers x1.state, komoji = (x1.state).tolower() No32.linq LTRIM 引数の説明 NULL 禁止 (varchar 型 ) SELECT title_id, LTRIM(title) AS trim FROM WHERE title_id = 'BU1032'.Where(x1 => x1.title_id == "BU1032") x1.title_id, trim = (x1.title).trimstart(null) No32_2.linq LTRIM 引数の説明 NULL 許容 (char 型 ) SELECT stor_id, LTRIM(stor_id) AS trim 27
FROM x1.stor_id, trim = x1.stor_id == null? null : (x1.stor_id).trimstart(null) No33.linq MAX 引数の説明 NULL 許容 (money 型 ) SELECT pub_id, MAX(price) AS maxprice FROM GROUP BY pub_id.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.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 型 ) 28
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 = (x1.ord_date).month 引数の説明 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 = (DateTime.Parse("1994-09-14")).Month 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 = x1.shippeddate == null? null : (int?)((x1.shippeddate)?? new DateTime(1900,1,1)).Month 29
引数の説明 No37.linq NULLIF NULL 禁止 (tinyint 型 ) と NULL 禁止 (tinyint 型 ) を比較する SELECT job_id, NULLIF(min_lvl, max_lvl) AS same FROM jobs WHERE job_id <= 5 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 discount, NULLIF(discount, 10.5) AS same FROM x1.discount, same = x1.discount == 10.5m? null : (decimal?)(x1.discount) 引数の説明 No37_3.linq NULLIF NULL 禁止 (char 型 ) と文字列リテラルを比較する SELECT type, NULLIF(type, 'mod_cook') AS same FROM WHERE title_id LIKE 'MC%'.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.type, same = x1.type == "mod_cook"? null : x1.type 30
引数の説明 No37_6.linq NULLIF NULL 許容 (int 型 ) と整数リテラルを比較する SELECT royalty, NULLIF(royalty, 12) AS same FROM WHERE title_id LIKE 'MC%'.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "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%'.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "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%'.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) 31
x1.price, x1.advance, same = x1.price == x1.advance? null : x1.price 引数の説明 No37_9.linq NULLIF NULL 許容 (char 型 ) と文字列リテラルを比較する SELECT stor_id, NULLIF(stor_id, '8042') AS same FROM 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 Orders.Where(x1 => x1.orderid == 11008 x1.orderid == 11009) x1.shippeddate, x1.orderdate, same = x1.shippeddate == x1.orderdate? null : x1.shippeddate No38.linq REPLACE 引数の説明対象文字列 = NULL 禁止 (char 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル SELECT type, REPLACE(type, 'cook', 'COOK') AS bigletter FROM 32
WHERE type LIKE '%cook'.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.type, "%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 FROM 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 FROM x1.discounttype, x1.stor_id, value = (x1.discounttype).replace(x1.stor_id, "12") No38_4.linq REPLACE 33
引数の説明対象文字列 = NULL 禁止 (varchar 型 ), 検索文字列 = 文字列リテラル, 置換文字列 = NULL 許容 (char 型 ) SELECT discounttype, stor_id, REPLACE(discounttype, 'Discount', stor_id) AS value FROM 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.type, "%cook")) x1.type, repeat = (new String('1', 2)).Replace("1", x1.type) 引数の説明 No39_2.linq REPLICATE NULL 禁止 (varchar 型 ) を NULL 禁止 (smallint 型 ) 回数繰り返す SELECT lname, job_id, REPLICATE(lname, job_id) AS repeat FROM employee WHERE emp_id = 'PTC11962M' employees.where(x1 => x1.emp_id == "PTC11962M") x1.lname, x1.job_id, repeat = (new String('1', x1.job_id)).replace("1", x1.lname) 34
引数の説明 No39_3.linq REPLICATE NULL 許容 (char 型 ) を整数リテラル回数繰り返す SELECT stor_id, REPLICATE(stor_id, 2) AS repeat FROM x1.stor_id, repeat = (new String('1', 2)).Replace("1", x1.stor_id) 引数の説明 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, x1.royalty, repeat = x1.royalty == null? null : (new String('1', (x1.royalty)?? 0)).Replace("1", x1.type) 引数の説明 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, 35
repeat = x1.royalty == null? null : (new String('1', (x1.royalty)?? 0)).Replace("1", x1.pub_id) No40.linq REVERSE 引数の説明 NULL 禁止 (varchar 型 ) SELECT type, REVERSE(type) AS hanntai FROM WHERE type LIKE '%cook'.where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.type, "%cook")).tolist() x1.type, hanntai = new String((x1.type).ToCharArray().Reverse().ToArray()) No40_2.linq REVERSE 引数の説明 NULL 許容 (varchar 型 ) SELECT stor_id, REVERSE(stor_id) AS hanntai FROM.ToList() x1.stor_id, hanntai = x1.stor_id == null? null : new String((x1.stor_id).ToCharArray().Reverse().ToArray()) 引数の説明 No41.linq RIGHT NULL 禁止 (varchar 型 ) から整数リテラル文字分 SELECT title_id, RIGHT(title_id, 4) AS lastname FROM WHERE title_id = 'BU1032' 36
.Where(x1 => x1.title_id == "BU1032") x1.title_id, lastname = (x1.title_id).substring((x1.title_id).length - (int)(4), (int)(4)) 引数の説明 LINQ No41_2.linq RIGHT NULL 許容 (char 型 ) から整数リテラル文字分 SELECT stor_id, RIGHT(stor_id, 2) AS value FROM x1.stor_id, value = (x1.stor_id).substring((x1.stor_id).length - (int)(2), (int)(2)) 引数の説明 No41_3.linq RIGHT NULL 許容 (char 型 ) から NULL 許容 (smallint 型 ) 文字分 SELECT stor_id, lowqty, RIGHT(stor_id, lowqty) AS value FROM 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 型 ), 小数桁 = 整数リテラル 37
SELECT price, ROUND(price, 1, 1) AS marume FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.price, marume = x1.price == null? null : (decimal?)decimal.round((x1.price)?? 0, 1, MidpointRounding.ToEven) 引数の説明 No42_2.linq ROUND 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = 整数リテラル SELECT discount, ROUND(discount, 1) AS marume FROM x1.discount, marume = decimal.round(x1.discount,1, MidpointRounding.ToEven) No42_3.linq ROUND 引数の説明対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT discount, lowqty, ROUND(discount, lowqty / 100) AS marume FROM x1.discount, x1.lowqty, marume = x1.lowqty / 100 == null? null : (decimal?)decimal.round(x1.discount, (x1.lowqty / 100)?? 0, MidpointRounding.ToEven) No42_4.linq 38
ROUND 引数の説明対象数 = NULL 許容 (money 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT price, royalty, ROUND(price, royalty / 100) AS marume FROM WHERE title_id LIKE 'MC%'.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.price, x1.royalty, marume = x1.price == null? null : x1.royalty / 100 == null? null : (decimal?)decimal.round((x1.price)?? 0, (x1.royalty / 100)?? 0, MidpointRounding.ToEven) No43.linq RTRIM 引数の説明 NULL 禁止 (varchar 型 ) SELECT title_id, RTRIM(title) AS trim FROM WHERE title_id = 'BU1032'.Where(x1 => x1.title_id == "BU1032") x1.title_id, trim = (x1.title).trimend(null) No43_2.linq RTRIM 引数の説明 NULL 許容 (char 型 ) SELECT stor_id, RTRIM(stor_id) AS trim FROM x1.stor_id, trim = x1.stor_id == null? null : (x1.stor_id).trimend(null) 39
No44.linq SIGN 引数の説明 NULL 許容 (money 型 ) SELECT price, SIGN(price) AS hugou FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.price, hugou = x1.price == null? null : (int?)math.sign((x1.price)?? 0) No44_2.linq SIGN 引数の説明 NULL 禁止 (decimal(4, 2) 型 ) SELECT discount, SIGN(discount) AS hugou FROM x1.discount, hugou = Math.Sign(x1.discount) 引数の説明 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, 40
namae = x1.au_lname + (new string('\u0020', 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.pub_id, x1.royalty, value = x1.title_id + (x1.royalty == null? null : (new string('\u0020', (x1.royalty)?? 0))) + x1.pub_id 引数の説明 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 = (x1.price == null? null : (decimal.round((x1.price)?? 0, 1, MidpointRounding.ToEven)).ToString()) 引数の説明 No46_3.linq STR 対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = 整数リテラル 41
SELECT discount, STR(discount, 4, 1) AS marume FROM x1.discount, marume = (decimal.round(x1.discount, 1, MidpointRounding.ToEven)).ToString() No46_4.linq STR 引数の説明対象数 = NULL 禁止 (decimal(4, 2) 型 ), 小数桁 = NULL 許容 (int 型 ) SELECT discount, lowqty, STR(discount, 4, lowqty / 100) AS marume FROM x1.discount, x1.lowqty, marume = (x1.lowqty / 100 == null? null : (decimal.round(x1.discount, (x1.lowqty / 100)?? 0, MidpointRounding.ToEven)).ToString()) 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.price, x1.royalty, marume = (x1.price == null? null : x1.royalty / 10 == null? null : (decimal.round((x1.price)?? 0, (x1.royalty / 10)?? 0, MidpointRounding.ToEven)).ToString()) 42
No47.linq STUFF 引数の説明対象文字列 = NULL 禁止 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル SELECT type, STUFF(type, 5, 4, 'NESS') AS hennkei FROM WHERE type = 'business'.where(x1 => x1.type == "business") x1.type, hennkei = ((x1.type).remove(5-1, 4)).ToString().Insert(5-1, "NESS") No47_2.linq STUFF 引数の説明対象文字列 = NULL 許容 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル SELECT stor_id, STUFF(stor_id, 2, 2, '??') AS hennkei FROM x1.stor_id, hennkei = ((x1.stor_id).remove(2-1, 2)).ToString().Insert(2-1, "??") 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) 43
x1.title_id, x1.royalty, hennkei = (x1.royalty / 10 + 1 == null? null : ((x1.title_id).remove((x1.royalty / 10 + 1-1)?? 0, 4)).ToString().Insert((x1.royalty / 10 + 1-1)?? 0, "????")) 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.royalty, hennkei = (x1.royalty / 10 == null? null : ((x1.title_id).remove(3-1, (x1.royalty / 10)?? 0)).ToString().Insert(3-1, "????")) No47_5.linq STUFF 引数の説明対象文字列 = NULL 禁止 (char 型 ), 対象位置 = NULL 許容 (int 型 ), 削除文字数 = NULL 許容 (int 型 ), 挿入文字列 = 文字列リテラル SELECT discounttype, highqty, lowqty, STUFF(discounttype, highqty / 100, lowqty / 100, '?') AS hennkei FROM x1.discounttype, x1.highqty, x1.lowqty, hennkei = (x1.highqty / 100 == null? null : x1.lowqty / 100 == null? null : ((x1.discounttype).remove((x1.highqty / 100-1)?? 0, (x1.lowqty / 44
100)?? 0)).ToString().Insert((x1.highqty / 100-1)?? 0, "?")) No47_6.linq STUFF 引数の説明対象文字列 = NULL 禁止 (char 型 ), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = NULL 許容 (char 型 ) SELECT discounttype, stor_id, STUFF(discounttype, 2, 2, stor_id) AS hennkei FROM x1.discounttype, x1.stor_id, hennkei = ((x1.discounttype).remove(2-1, 2)).ToString().Insert(2-1, x1.stor_id) No48.linq SUBSTRING 引数の説明対象文字列 = NULL 禁止 (char 型 ), 開始位置 = 整数リテラル, 文字数 = 整数リテラル SELECT type, SUBSTRING(type, 5, 4) AS sentou FROM WHERE type = 'business'.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 45
FROM 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.royalty, value = (x1.royalty / 10 == null? null : (x1.title_id).substring((x1.royalty / 10-1)?? 0, 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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.royalty, value = (x1.royalty / 10 == null? null : (x1.title_id).substring(2-1, (x1.royalty / 10)?? 0)) 46
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 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) x1.title_id, x1.royalty, value = (x1.royalty / 10 == null? null : x1.royalty / 10 == null? null : (x1.title_id).substring((x1.royalty / 10-1)?? 0, (x1.royalty / 10)?? 0)) No49.linq SUM 引数の説明 NULL 許容 (money 型 ) SELECT pub_id, SUM(price) AS price FROM 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.sum(x1 => x1.price) No50.linq UPPER 引数の説明 NULL 禁止 (varchar 型 ) 47
SELECT title_id, UPPER(title) AS oomoji FROM WHERE title_id = 'BU1032'.Where(x1 => x1.title_id == "BU1032") x1.title_id, oomoji = (x1.title).toupper() No50_2.linq UPPER 引数の説明 NULL 許容 (char 型 ) SELECT state, UPPER(state) AS komoji FROM publishers 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 = (x1.ord_date).year No52.linq YEAR 48
引数の説明 文字列リテラルで表した時間 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 = (DateTime.Parse("1994-09-14")).Year 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 = (x1.shippeddate == null? null : (int?)((x1.shippeddate)?? new DateTime(1900,1,1)).Year) 49