SQLCompiler for LINQ
のサンプル
(関数サンプル 2)
<一覧表>
ファイル名 関数名 引数の説明 リンク
No13.linq COUNT NULL 許容(money 型) 表 13
No14.linq DATEADD 日付要素 = day,
加算値 = 数値リテラル, 時間 = NULL 禁止(datetime 型)
表 14
No15.linq DATEADD 日付要素 = day,
加算値 = 数値リテラル, 時間 = 文字列リテラルの時間
表 15
No15_2.linq DATEADD 日付要素 = day,
加算値 = NULL 禁止(int 型), 時間 = NULL 禁止(datetime 型)
表 15_2
No15_3.linq DATEADD 日付要素 = day,
加算値 = NULL 許容(int 型), 時間 = NULL 禁止(datetime 型)
表 15_3
No15_4.linq DATEADD (Northwind データベース)日付要素 = day,
加算値 = NULL 禁止(int 型), 時間 = NULL 許容(datetime 型)
表 15_4
No15_5.linq DATEADD (Northwind データベース)日付要素 = day,
加算値 = NULL 許容(int 型), 時間 = NULL 許容(datetime 型)
表 15_5
No15_6.linq DATEADD 日付要素 = month,
加算値 = 数値リテラル, 時間 = NULL 禁止(datetime 型)
表 15_6
No15_7.linq DATEADD 日付要素 = year,
加算値 = 数値リテラル, 時間 = NULL 禁止(datetime 型)
表 15_7
No16.linq DATEDIFF 日付要素 = year,
開始時間 = NULL 禁止(datetime 型), 終了時間 = 文字列リテラルの時間
表 16
No16_2.linq DATEDIFF 日付要素 = year,
開始時間 = NULL 禁止(datetime 型), 終了時間 = GETDATE()関数
表 16_2
No16_3.linq DATEDIFF (Northwind データベース)日付要素 = year,
開始時間 = NULL 許容(datetime 型), 終了時間 = GETDATE()関数
表 16_3
No16_4.linq DATEDIFF (Northwind データベース)日付要素 = year,
開始時間 = GETDATE()関数, 終了時間 = NULL 許容(datetime 型)
表 16_4
No16_5.linq DATEDIFF (Northwind データベース)日付要素 = year,
開始時間 = NULL 許容(datetime 型), 終了時間 = NULL 許容(datetime 型)
表 16_5
開始時間 = NULL 禁止(datetime 型), 終了時間 = 文字列リテラルの時間
No16_7.linq DATEDIFF 日付要素 = day,
開始時間 = NULL 禁止(datetime 型), 終了時間 = 文字列リテラルの時間
表 16_7
No16_8.linq DATEDIFF (Northwind データベース)日付要素 = month,
開始時間 = NULL 許容(datetime 型), 終了時間 = GETDATE()関数
表 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 型)
表 18_4
No18_5.linq DATENAME (Northwind データベース)日付要素 = year,
時間 = NULL 許容(datetime 型)
表 18_5
No18_6.linq DATENAME (Northwind データベース)日付要素 = day,
時間 = NULL 許容(datetime 型)
表 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_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 型)を比較する
表 37_10
No38.linq REPLACE 対象文字列 = NULL 禁止(char 型),
検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル
表 38
No38_2.linq REPLACE 対象文字列 = NULL 許容(char 型),
検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラル
表 38_2
No38_3.linq REPLACE 対象文字列 = NULL 禁止(varchar 型),
検索文字列 = NULL 許容(char 型), 置換文字列 = 文字列リテラル
表 38_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 型),
小数桁 = 整数リテラル
表 42
No42_2.linq ROUND 対象数 = NULL 禁止(decimal(4, 2)型),
小数桁 = 整数リテラル
表 42_2
No42_3.linq ROUND 対象数 = NULL 禁止(decimal(4, 2)型),
小数桁 = NULL 許容(int 型)
表 42_3
No42_4.linq ROUND 対象数 = NULL 許容(money 型),
小数桁 = NULL 許容(int 型)
表 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 型),
小数桁 = 整数リテラル
表 46
No46_3.linq STR 対象数 = NULL 禁止(decimal(4, 2)型),
小数桁 = 整数リテラル
表 46_3
No46_4.linq STR 対象数 = NULL 禁止(decimal(4, 2)型),
小数桁 = NULL 許容(int 型)
表 46_4
No46_5.linq STR 対象数 = NULL 許容(money 型),
小数桁 = NULL 許容(int 型)
表 46_5
No47.linq STUFF 対象文字列 = NULL 禁止(char 型),
対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル
表 47
No47_2.linq STUFF 対象文字列 = NULL 許容(char 型),
対象位置 = 整数リテラル,
表 47_2
削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル
No47_3.linq STUFF 対象文字列 = NULL 禁止(varchar 型),
対象位置 = NULL 許容(int 型), 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル
表 47_3
No47_4.linq STUFF 対象文字列 = NULL 禁止(varchar 型),
対象位置 = 整数リテラル, 削除文字数 = NULL 許容(int 型), 挿入文字列 = 文字列リテラル
表 47_4
No47_5.linq STUFF 対象文字列 = NULL 禁止(char 型),
対象位置 = NULL 許容(int 型), 削除文字数 = NULL 許容(int 型), 挿入文字列 = 文字列リテラル
表 47_5
No47_6.linq STUFF 対象文字列 = NULL 禁止(char 型),
対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = NULL 許容(char 型)
表 47_6
No48.linq SUBSTRING 対象文字列 = NULL 禁止(char 型),
開始位置 = 整数リテラル, 文字数 = 整数リテラル
表 48
No48_2.linq SUBSTRING 対象文字列 = NULL 許容(char 型),
開始位置 = 整数リテラル, 文字数 = 整数リテラル
表 48_2
No48_3.linq SUBSTRING 対象文字列 = NULL 禁止(varchar 型),
開始位置 = NULL 許容(int 型), 文字数 = 整数リテラル
表 48_3
No48_4.linq SUBSTRING 対象文字列 = NULL 禁止(char 型),
開始位置 = 整数リテラル, 文字数 = NULL 許容(int 型)
表 48_4
No48_5.linq SUBSTRING 対象文字列 = NULL 禁止(char 型),
開始位置 = NULL 許容(int 型), 文字数 = NULL 許容(int 型)
表 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
TopPage
ファイル名 No13.linq
関数名 COUNT
T-SQL SELECT pub_id, COUNT(price) AS cnt
FROM titles
GROUP BY pub_id
LINQ コード titles
.GroupBy(x1 => new{grKey1 = x1.pub_id}) .Select(g1 => new
{
pub_id = g1.Key.grKey1,
cnt = g1.Count(x1 => x1.price != null) });
TopPage
ファイル名 No14.linq
関数名 DATEADD
引数の説明 日付要素 = day, 加算値 = 数値リテラル, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT pub_id, pubdate, DATEADD(day, 1, pubdate) AS tomorrow
FROM titles WHERE pub_id = '0736' LINQ コード titles .Where(x1 => x1.pub_id == "0736") .Select(x1 => new { x1.pub_id, x1.pubdate,
tomorrow = (x1.pubdate).AddDays((int)(1)) });
TopPage
ファイル名 No15.linq
関数名 DATEADD
引数の説明 日付要素 = day, 加算値 = 数値リテラル, 時間 = 文字列リテラルの時間
T-SQL SELECT pub_id, pubdate, DATEADD(day, 1, '1991-06-30') AS tomorrow
FROM titles WHERE pub_id = '0736' LINQ コード titles .Where(x1 => x1.pub_id == "0736") .Select(x1 => new { x1.pub_id, x1.pubdate,
tomorrow = (DateTime.Parse("1991-06-30")).AddDays((int)(1)) });
ファイル名 No15_2.linq
関数名 DATEADD
引数の説明 日付要素 = day, 加算値 = NULL 禁止(int 型), 時間 = NULL 禁止(datetime 型)
T-SQL SELECT pubdate, title_id, DATEADD(day, LEN(title_id), pubdate) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.pubdate, x1.title_id,
value = (x1.pubdate).AddDays((int)((x1.title_id).Length))
});
TopPage
ファイル名 No15_3.linq
関数名 DATEADD
引数の説明 日付要素 = day, 加算値 = NULL 許容(int 型), 時間 = NULL 禁止(datetime 型)
T-SQL SELECT pubdate, royalty, DATEADD(day, royalty, pubdate) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.pubdate, x1.royalty,
value = x1.royalty == null ? null :
(DateTime?)(x1.pubdate).AddDays((int?)(x1.royalty) ?? 0) });
TopPage
ファイル名 No15_4.linq
関数名 DATEADD
引数の説明 (Northwind データベース)日付要素 = day, 加算値 = NULL 禁止(int 型), 時間 =
NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, OrderID, DATEADD(day, OrderID, ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Select(x1 => new
{
x1.ShippedDate, x1.OrderID,
value = x1.ShippedDate == null ? null :
(DateTime?)((x1.ShippedDate) ?? new DateTime(1900, 1,
1)).AddDays((int)(x1.OrderID)) });
TopPage
ファイル名 No15_5.linq
関数名 DATEADD
引数の説明 (Northwind データベース)日付要素 = day, 加算値 = NULL 許容(int 型), 時間 =
NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, ShipVia, DATEADD(day, ShipVia, ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
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) });
TopPage
ファイル名 No15_6.linq
関数名 DATEADD
引数の説明 日付要素 = month, 加算値 = 数値リテラル, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT pub_id, pubdate, DATEADD(month, 1, pubdate) AS tomorrow
FROM titles WHERE pub_id = '0736' LINQ コード titles .Where(x1 => x1.pub_id == "0736") .Select(x1 => new { x1.pub_id, x1.pubdate,
tomorrow = (x1.pubdate).AddMonths((int)(1)) });
ファイル名 No15_7.linq
関数名 DATEADD
引数の説明 日付要素 = year, 加算値 = 数値リテラル, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT pub_id, pubdate, DATEADD(year, 1, pubdate) AS tomorrow
FROM titles WHERE pub_id = '0736' LINQ コード titles .Where(x1 => x1.pub_id == "0736") .Select(x1 => new { x1.pub_id, x1.pubdate,
tomorrow = (x1.pubdate).AddYears((int)(1)) });
TopPage
ファイル名 No16.linq
関数名 DATEDIFF
引数の説明 日付要素 = year, 開始時間 = NULL 禁止(datetime 型), 終了時間 = 文字列リテラ
ルの時間
T-SQL SELECT ord_date, DATEDIFF(year, ord_date, '1990-01-01') AS diff
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date,
diff = (DateTime.Parse("1990-01-01") - x1.ord_date).Days/365
});
TopPage
ファイル名 No16_2.linq
関数名 DATEDIFF
引数の説明 日付要素 = year, 開始時間 = NULL 禁止(datetime 型), 終了時間 = GETDATE()関
数
T-SQL SELECT pubdate, GETDATE() AS today, DATEDIFF(year, pubdate, GETDATE()) AS
diff
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%"))
.Select(x1 => new
{
x1.pubdate,
today = DateTime.Now,
diff = (DateTime.Now - x1.pubdate).Days/365
});
TopPage
ファイル名 No16_3.linq
関数名 DATEDIFF
引数の説明 (Northwind データベース)日付要素 = year, 開始時間 = NULL 許容(datetime 型),
終了時間 = GETDATE()関数
T-SQL SELECT ShippedDate, GETDATE() AS today, DATEDIFF(year, ShippedDate,
GETDATE()) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate, today = DateTime.Now,
value = x1.ShippedDate == null ? null : (int?)((DateTime.Now - ((x1.ShippedDate) ?? new DateTime(1900, 1, 1))).Days/365)
});
TopPage
ファイル名 No16_4.linq
関数名 DATEDIFF
引数の説明 (Northwind データベース)日付要素 = year, 開始時間 = GETDATE()関数, 終了時間
= NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, GETDATE() AS today, DATEDIFF(year, GETDATE(),
ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate, today = DateTime.Now,
value = x1.ShippedDate == null ? null : (int?)((((x1.ShippedDate) ??
new DateTime(1900, 1, 1)) - DateTime.Now).Days/365) });
TopPage
ファイル名 No16_5.linq
関数名 DATEDIFF
引数の説明 (Northwind データベース)日付要素 = year, 開始時間 = NULL 許容(datetime 型),
終了時間 = NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, RequiredDate, DATEDIFF(year, ShippedDate,
RequiredDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
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) });
TopPage
ファイル名 No16_6.linq
関数名 DATEDIFF
引数の説明 日付要素 = month, 開始時間 = NULL 禁止(datetime 型), 終了時間 = 文字列リテ
ラルの時間
T-SQL SELECT ord_date, DATEDIFF(month, ord_date, '1990-01-01') AS diff
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date,
diff = (int)((DateTime.Parse("1990-01-01") - x1.ord_date).Days/30.4375)
});
TopPage
ファイル名 No16_7.linq
関数名 DATEDIFF
引数の説明 日付要素 = day, 開始時間 = NULL 禁止(datetime 型), 終了時間 = 文字列リテラ
ルの時間
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date,
diff = (DateTime.Parse("1990-01-01") - x1.ord_date).Days/1
});
TopPage
ファイル名 No16_8.linq
関数名 DATEDIFF
引数の説明 (Northwind データベース)日付要素 = month, 開始時間 = NULL 許容(datetime 型),
終了時間 = GETDATE()関数
T-SQL SELECT ShippedDate, GETDATE() AS today, DATEDIFF(month, ShippedDate,
GETDATE()) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate, today = DateTime.Now,
value = x1.ShippedDate == null ? null : (int?)((int)((DateTime.Now - ((x1.ShippedDate) ?? new DateTime(1900, 1, 1))).Days/30.4375))
});
TopPage
ファイル名 No17.linq
関数名 DATENAME
引数の説明 日付要素 = month, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DATENAME(month, ord_date) AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .ToList() .Select(x1 => new { x1.ord_date, namae = (x1.ord_date).Month.ToString("00") });
TopPage
ファイル名 No18.linq
関数名 DATENAME
引数の説明 日付要素 = month, 時間 = 文字列リテラルの時間
T-SQL SELECT ord_date, DATENAME(month, '1994-10-14') AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .ToList() .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, namae = (DateTime.Parse("1994-10-14")).Month.ToString("00") });
TopPage
ファイル名 No18_2.linq 関数名 DATENAME引数の説明 日付要素 = year, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DATENAME(year, ord_date) AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, namae = (x1.ord_date).Year.ToString() });
TopPage
ファイル名 No18_3.linq 関数名 DATENAME引数の説明 日付要素 = day, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DATENAME(day, ord_date) AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date,
namae = (x1.ord_date).Day.ToString() });
TopPage
ファイル名 No18_4.linq
関数名 DATENAME
引数の説明 (Northwind データベース)日付要素 = month, 時間 = NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, DATENAME(month, ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.ToList()
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? null : ((x1.ShippedDate) ?? new
DateTime(1900,1,1)).Month.ToString("00") });
TopPage
ファイル名 No18_5.linq
関数名 DATENAME
引数の説明 (Northwind データベース)日付要素 = year, 時間 = NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, DATENAME(year, ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? null : ((x1.ShippedDate) ?? new
DateTime(1900,1,1)).Year.ToString() });
TopPage
ファイル名 No18_6.linq
関数名 DATENAME
引数の説明 (Northwind データベース)日付要素 = day, 時間 = NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, DATENAME(day, ShippedDate) AS value
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? null : ((x1.ShippedDate) ?? new
DateTime(1900,1,1)).Day.ToString() });
TopPage
ファイル名 No19.linq
関数名 DATEPART
引数の説明 日付要素 = month, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DATEPART(month, ord_date) AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, namae = (x1.ord_date).Month });
TopPage
ファイル名 No20.linq 関数名 DATEPART 引数の説明 日付要素 = month, 時間 = 文字列リテラルの時間T-SQL SELECT ord_date, DATEPART(month, '1994-10-14') AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, namae = (DateTime.Parse("1994-10-14")).Month });
TopPage
ファイル名 No20_2.linq 関数名 DATEPART引数の説明 日付要素 = year, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DATEPART(year, ord_date) AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, namae = (x1.ord_date).Year });
TopPage
ファイル名 No20_3.linq 関数名 DATEPART引数の説明 日付要素 = day, 時間 = NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DATEPART(day, ord_date) AS namae
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, namae = (x1.ord_date).Day });
TopPage
ファイル名 No20_4.linq 関数名 DATEPART引数の説明 (Northwind データベース)日付要素 = month, 時間 = NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, DATEPART(month, ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? null : (int?)((x1.ShippedDate) ?? new
DateTime(1900,1,1)).Month });
ファイル名 No21.linq
関数名 DAY
引数の説明 NULL 禁止(datetime 型)
T-SQL SELECT ord_date, DAY(ord_date) AS hinichi
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, hinichi = (x1.ord_date).Day });
TopPage
ファイル名 No22.linq 関数名 DAY 引数の説明 文字列リテラルの時間T-SQL SELECT ord_date, DAY('1994-09-14') AS hinichi
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, hinichi = (DateTime.Parse("1994-09-14")).Day });
TopPage
ファイル名 No22_2.linq 関数名 DAY引数の説明 (Northwind データベース)NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, DAY(ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? null : (int?)((x1.ShippedDate) ?? new
});
TopPage
ファイル名 No23.linq
関数名 FLOOR
引数の説明 NULL 許容(money 型)
T-SQL SELECT price, FLOOR(price) AS price1
FROM titles WHERE pub_id = '0736' LINQ コード titles .Where(x1 => x1.pub_id == "0736") .Select(x1 => new { x1.price,
price1 = x1.price == null ? null :
(decimal?)Math.Floor(((decimal?)(x1.price)) ?? 0) });
TopPage
ファイル名 No23_2.linq
関数名 FLOOR
引数の説明 NULL 禁止(decimal(4, 2)型)
T-SQL SELECT discount, FLOOR(discount) AS price
FROM discounts LINQ コード discounts .Select(x1 => new { x1.discount, price = Math.Floor(x1.discount) });
TopPage
ファイル名 No24.linq 関数名 GETDATE 引数の説明 なしT-SQL SELECT ord_date, GETDATE() AS today
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new {
x1.ord_date, today = DateTime.Now });
TopPage
ファイル名 No25.linq 関数名 ISDATE 引数の説明 NULL 禁止(datetime 型)T-SQL SELECT ord_date, ISDATE(ord_date) AS daytime
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, daytime = 1 });
TopPage
ファイル名 No25_2.linq 関数名 ISDATE引数の説明 (Northwind データベース)NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, ISDATE(ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? 0 : 1
});
TopPage
ファイル名 No25_3.linq
関数名 ISDATE
引数の説明 時間形式の文字列リテラルと非時間形式の文字列
T-SQL SELECT title_id, ISDATE('1900/01/01') AS isdate1, ISDATE(pub_id) AS
isdate2
FROM titles
LINQ コード DateTime date1; titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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 });
TopPage
ファイル名 No25_4.linq 関数名 ISDATE 引数の説明 NULL 許容(char 型)T-SQL SELECT stor_id, ISDATE(stor_id) AS isdate1
FROM discounts
LINQ コード DateTime date1;
discounts
.Select(x1 => new
{
x1.stor_id,
isdate1 = x1.stor_id == null ? 0 : DateTime.TryParse(x1.stor_id, out
date1) == true ? 1 : 0 });
TopPage
ファイル名 No25_5.linq 関数名 ISDATE 引数の説明 時間形式の整数リテラルT-SQL SELECT title_id, ISDATE(19000101) AS isdate1, ISDATE(19000132) AS isdate2
, ISDATE(1900) AS isdate3
FROM titles
WHERE title_id like 'MC%'
LINQ コード DateTime date1;
titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.title_id,
isdate1 = DateTime.TryParseExact((19000101).ToString(),
(19000101).ToString().Length == 4 ? "yyyy" : "yyyyMMdd", null, System.Globalization.DateTimeStyles.None, out date1) == true ? 1 : 0,
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
});
TopPage
ファイル名 No25_6.linq
関数名 ISDATE
引数の説明 NULL 許容(int 型)
T-SQL SELECT title_id, royalty, ISDATE(royalty) AS isdate1
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード DateTime date1;
titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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
});
TopPage
ファイル名 No25_7.linq
関数名 ISDATE
引数の説明 NULL 許容(money 型)
T-SQL SELECT title_id, price, ISDATE(price) AS isdate1
FROM titles
WHERE title_id like 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.title_id, x1.price, isdate1 = 0 });
TopPage
ファイル名 No26.linq
関数名 ISNULL
引数の説明 NULL 許容(money 型)が NULL なら 0 に置換する及び
NULL 許容(int 型)が NULL なら 0 に置換する
T-SQL SELECT title_id, ISNULL(price, 0) AS price, ISNULL(royalty, 0) AS royalty
FROM titles WHERE title_id = 'MC3026' LINQ コード titles .Where(x1 => x1.title_id == "MC3026") .Select(x1 => new { x1.title_id,
price = x1.price != null ? x1.price : 0, royalty = x1.royalty != null ? x1.royalty : 0
});
TopPage
ファイル名 No27.linq
関数名 ISNUMERIC
引数の説明 NULL 許容(money 型)と NULL 許容(int 型)
T-SQL SELECT title_id, ISNUMERIC(price) AS price, ISNUMERIC(royalty) AS royalty
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.title_id,
price = x1.price == null ? 0 : 1, royalty = x1.royalty == null ? 0 : 1
});
TopPage
ファイル名 No27_2.linq
関数名 ISNUMERIC
引数の説明 NULL 禁止(decimal(4, 2)型)
T-SQL SELECT discount, ISNUMERIC(discount) AS value
FROM discounts
LINQ コード discounts
{ x1.discount, value = 1 });
TopPage
ファイル名 No27_3.linq 関数名 ISNUMERIC 引数の説明 NULL 許容(char 型)T-SQL SELECT stor_id, ISNUMERIC(stor_id) AS value
FROM discounts
LINQ コード int int1;
decimal dec1; discounts
.Select(x1 => new
{
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
});
TopPage
ファイル名 No27_4.linq
関数名 ISNUMERIC
引数の説明 NULL 禁止(char 型)
T-SQL SELECT pub_id, ISNUMERIC(pub_id) AS value
FROM employee
WHERE emp_id LIKE 'A%'
LINQ コード int int1;
decimal dec1; employees
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.emp_id, "A%")) .Select(x1 => new
{
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
});
TopPage
関数名 ISNUMERIC
引数の説明 NULL 禁止(char 型)と小数部を持つ文字列リテラルの数値
T-SQL SELECT pub_id, ISNUMERIC(pub_id) AS value1, isnumeric('12.3') AS value2
FROM employee
WHERE emp_id LIKE 'A%'
LINQ コード int int1;
decimal dec1; employees
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.emp_id, "A%")) .Select(x1 => new
{
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
});
TopPage
ファイル名 No27_6.linq
関数名 ISNUMERIC
引数の説明 NULL 禁止(char 型)と NULL 禁止(datetime 型)
T-SQL SELECT pub_id, ISNUMERIC(pub_id) AS value1, ISNUMERIC(hire_date) AS value2
FROM employee
WHERE emp_id LIKE 'A%'
LINQ コード int int1;
decimal dec1; employees
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.emp_id, "A%")) .Select(x1 => new
{
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 });
TopPage
ファイル名 No28.linq 関数名 LEFT 引数の説明 NULL 禁止(varchar 型)から 2 文字分T-SQL SELECT title_id, LEFT(title_id, 2) AS topname
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.title_id,
topname = (x1.title_id).Substring(0, (int)(2)) });
TopPage
ファイル名 No28_2.linq
関数名 LEFT
引数の説明 NULL 許容(char 型)から 2 文字分
T-SQL SELECT stor_id, LEFT(stor_id, 2) AS value
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
value = (x1.stor_id).Substring(0, (int)(2)) });
TopPage
ファイル名 No28_3.linq
関数名 LEFT
引数の説明 NULL 禁止(varchar 型)から NULL 許容(smallint 型)文字分
T-SQL SELECT discounttype, lowqty, LEFT(discounttype, lowqty) AS value
FROM discounts LINQ コード discounts .Select(x1 => new { x1.discounttype, x1.lowqty,
value = (x1.discounttype).Substring(0, (int)(x1.lowqty)) });
TopPage
ファイル名 No28_4.linq
関数名 LEFT
引数の説明 NULL 許容(char 型)から NULL 許容(smallint 型)文字分
T-SQL SELECT stor_id, lowqty, LEFT(stor_id, lowqty) AS value
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id, x1.lowqty,
value = (x1.stor_id).Substring(0, (int)(x1.lowqty)) });
TopPage
ファイル名 No30.linq
関数名 LEN
引数の説明 NULL 禁止(char 型)
T-SQL SELECT title_id, LEN(type) AS length
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new { x1.title_id, length = (x1.type).Length });
TopPage
ファイル名 No30_2.linq 関数名 LEN 引数の説明 NULL 許容(char 型)T-SQL SELECT stor_id, LEN(stor_id) AS length
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
length = x1.stor_id == null ? null : (int?)((x1.stor_id).Length) });
TopPage
ファイル名 No31.linq
関数名 LOWER
引数の説明 NULL 禁止(varchar 型)
T-SQL SELECT title_id, LOWER(title) AS komoji
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new { x1.title_id, komoji = (x1.title).ToLower() });
TopPage
ファイル名 No31_2.linq 関数名 LOWER 引数の説明 NULL 許容(char 型)T-SQL SELECT state, LOWER(state) AS komoji
FROM publishers LINQ コード publishers .Select(x1 => new { x1.state, komoji = (x1.state).ToLower() });
TopPage
ファイル名 No32.linq 関数名 LTRIM 引数の説明 NULL 禁止(varchar 型)T-SQL SELECT title_id, LTRIM(title) AS trim
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.title_id,
trim = (x1.title).TrimStart(null) });
TopPage
ファイル名 No32_2.linq
関数名 LTRIM
引数の説明 NULL 許容(char 型)
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
trim = x1.stor_id == null ? null : (x1.stor_id).TrimStart(null) });
TopPage
ファイル名 No33.linq
関数名 MAX
引数の説明 NULL 許容(money 型)
T-SQL SELECT pub_id, MAX(price) AS maxprice
FROM titles
GROUP BY pub_id
LINQ コード titles
.GroupBy(x1 => new{grKey1 = x1.pub_id}) .Select(g1 => new
{
pub_id = g1.Key.grKey1,
maxprice = g1.Max(x1 => x1.price) });
TopPage
ファイル名 No34.linq
関数名 MIN
引数の説明 NULL 許容(money 型)
T-SQL SELECT pub_id, MIN(price) AS minprice
FROM titles
GROUP BY pub_id
LINQ コード titles
.GroupBy(x1 => new{grKey1 = x1.pub_id}) .Select(g1 => new
{
pub_id = g1.Key.grKey1,
minprice = g1.Min(x1 => x1.price) });
TopPage
ファイル名 No35.linq
関数名 MONTH
T-SQL SELECT ord_date, MONTH(ord_date) AS hinichi FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, hinichi = (x1.ord_date).Month });
TopPage
ファイル名 No36.linq 関数名 MONTH 引数の説明 文字列リテラルで表した時間T-SQL SELECT ord_date, MONTH('1994-09-14') AS hinichi
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, hinichi = (DateTime.Parse("1994-09-14")).Month });
TopPage
ファイル名 No36_2.linq 関数名 MONTH引数の説明 (Northwind データベース)NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, MONTH(ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = x1.ShippedDate == null ? null : (int?)((x1.ShippedDate) ?? new
DateTime(1900,1,1)).Month });
ファイル名 No37.linq
関数名 NULLIF
引数の説明 NULL 禁止(tinyint 型)と NULL 禁止(tinyint 型)を比較する
T-SQL SELECT job_id, NULLIF(min_lvl, max_lvl) AS same
FROM jobs WHERE job_id <= 5 LINQ コード jobs .Where(x1 => x1.job_id <= 5) .Select(x1 => new { x1.job_id,
same = x1.min_lvl == x1.max_lvl ? null : (int?)(x1.min_lvl) });
TopPage
ファイル名 No37_2.linq
関数名 NULLIF
引数の説明 NULL 禁止(decimal(4, 2)型)と小数部を持つ数値リテラルを比較する
T-SQL SELECT discount, NULLIF(discount, 10.5) AS same
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.discount,
same = x1.discount == 10.5m ? null : (decimal?)(x1.discount) });
TopPage
ファイル名 No37_3.linq
関数名 NULLIF
引数の説明 NULL 禁止(char 型)と文字列リテラルを比較する
T-SQL SELECT type, NULLIF(type, 'mod_cook') AS same
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.type,
same = x1.type == "mod_cook" ? null : x1.type });
ファイル名 No37_6.linq
関数名 NULLIF
引数の説明 NULL 許容(int 型)と整数リテラルを比較する
T-SQL SELECT royalty, NULLIF(royalty, 12) AS same
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.royalty,
same = x1.royalty == 12 ? null : x1.royalty
});
TopPage
ファイル名 No37_7.linq
関数名 NULLIF
引数の説明 NULL 許容(money 型)と小数部を持つ数値リテラルを比較する
T-SQL SELECT price, NULLIF(price, 19.99) AS same
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.price,
same = x1.price == 19.99m ? null : x1.price });
TopPage
ファイル名 No37_8.linq
関数名 NULLIF
引数の説明 NULL 許容(money 型)と NULL 許容(money 型)を比較する
T-SQL SELECT price, advance, NULLIF(price, advance) AS same
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%"))
.Select(x1 => new
x1.price, x1.advance,
same = x1.price == x1.advance ? null : x1.price
});
TopPage
ファイル名 No37_9.linq
関数名 NULLIF
引数の説明 NULL 許容(char 型)と文字列リテラルを比較する
T-SQL SELECT stor_id, NULLIF(stor_id, '8042') AS same
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
same = x1.stor_id == "8042" ? null : x1.stor_id });
TopPage
ファイル名 No37_10.linq
関数名 NULLIF
引数の説明 (Northwind データベース)NULL 許容(datetime 型)と NULL 許容(datetime 型)を比較
する
T-SQL SELECT ShippedDate, OrderDate, NULLIF(ShippedDate, Orderdate) AS same
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate, x1.OrderDate,
same = x1.ShippedDate == x1.OrderDate ? null : x1.ShippedDate
});
TopPage
ファイル名 No38.linq 関数名 REPLACE 引数の説明 対象文字列 = NULL 禁止(char 型), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラルT-SQL SELECT type, REPLACE(type, 'cook', 'COOK') AS bigletter
WHERE type LIKE '%cook'
LINQ コード titles
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.type, "%cook")) .Select(x1 => new
{
x1.type,
bigletter = (x1.type).Replace("cook", "COOK") });
TopPage
ファイル名 No38_2.linq 関数名 REPLACE 引数の説明 対象文字列 = NULL 許容(char 型), 検索文字列 = 文字列リテラル, 置換文字列 = 文字列リテラルT-SQL SELECT stor_id, REPLACE(stor_id, '04', '05') AS value
FROM discounts LINQ コード discounts .Select(x1 => new { x1.stor_id, value = (x1.stor_id).Replace("04", "05") });
TopPage
ファイル名 No38_3.linq 関数名 REPLACE引数の説明 対象文字列 = NULL 禁止(varchar 型), 検索文字列 = NULL 許容(char 型),
置換文字列 = 文字列リテラル
T-SQL SELECT discounttype, stor_id, REPLACE(discounttype, stor_id, '12') AS
value FROM discounts LINQ コード discounts .Select(x1 => new { x1.discounttype, x1.stor_id, value = (x1.discounttype).Replace(x1.stor_id, "12") });
TopPage
ファイル名 No38_4.linq 関数名 REPLACE引数の説明 対象文字列 = NULL 禁止(varchar 型), 検索文字列 = 文字列リテラル, 置換文字列 = NULL 許容(char 型)
T-SQL SELECT discounttype, stor_id, REPLACE(discounttype, 'Discount', stor_id)
AS value FROM discounts LINQ コード discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
value = (x1.discounttype).Replace("Discount", x1.stor_id) });
TopPage
ファイル名 No39.linq
関数名 REPLICATE
引数の説明 NULL 禁止(char 型)を整数リテラル回数繰り返す
T-SQL SELECT type, REPLICATE(type, 2) AS repeat
FROM titles
WHERE type LIKE '%cook'
LINQ コード titles
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.type, "%cook")) .Select(x1 => new
{
x1.type,
repeat = (new String('1', 2)).Replace("1", x1.type) });
TopPage
ファイル名 No39_2.linq
関数名 REPLICATE
引数の説明 NULL 禁止(varchar 型)を NULL 禁止(smallint 型)回数繰り返す
T-SQL SELECT lname, job_id , REPLICATE(lname, job_id) AS repeat
FROM employee WHERE emp_id = 'PTC11962M' LINQ コード employees .Where(x1 => x1.emp_id == "PTC11962M") .Select(x1 => new { x1.lname, x1.job_id,
repeat = (new String('1', x1.job_id)).Replace("1", x1.lname) });
TopPage
ファイル名 No39_3.linq
関数名 REPLICATE
引数の説明 NULL 許容(char 型)を整数リテラル回数繰り返す
T-SQL SELECT stor_id, REPLICATE(stor_id, 2) AS repeat
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
repeat = (new String('1', 2)).Replace("1", x1.stor_id) });
TopPage
ファイル名 No39_4.linq
関数名 REPLICATE
引数の説明 NULL 禁止(varchar 型)を NULL 許容(int 型)回数繰り返す
T-SQL SELECT type, royalty , REPLICATE(type, royalty) AS repeat
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.type, x1.royalty,
repeat = x1.royalty == null ? null : (new String('1', (x1.royalty) ??
0)).Replace("1", x1.type) });
TopPage
ファイル名 No39_5.linq
関数名 REPLICATE
引数の説明 NULL 許容(char 型)を NULL 許容(int 型)回数繰り返す
T-SQL SELECT pub_id, royalty, REPLICATE(pub_id, royalty) AS repeat
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.pub_id, x1.royalty,
repeat = x1.royalty == null ? null : (new String('1', (x1.royalty) ?? 0)).Replace("1", x1.pub_id) });
TopPage
ファイル名 No40.linq 関数名 REVERSE 引数の説明 NULL 禁止(varchar 型)T-SQL SELECT type, REVERSE(type) AS hanntai
FROM titles
WHERE type LIKE '%cook'
LINQ コード titles
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.type, "%cook")) .ToList()
.Select(x1 => new
{
x1.type,
hanntai = new String((x1.type).ToCharArray().Reverse().ToArray())
});
TopPage
ファイル名 No40_2.linq
関数名 REVERSE
引数の説明 NULL 許容(varchar 型)
T-SQL SELECT stor_id, REVERSE(stor_id) AS hanntai
FROM discounts LINQ コード discounts .ToList() .Select(x1 => new { x1.stor_id,
hanntai = x1.stor_id == null ? null : new
String((x1.stor_id).ToCharArray().Reverse().ToArray()) });
TopPage
ファイル名 No41.linq 関数名 RIGHT 引数の説明 NULL 禁止(varchar 型)から整数リテラル文字分T-SQL SELECT title_id, RIGHT(title_id, 4) AS lastname
FROM titles
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.title_id,
lastname = (x1.title_id).Substring((x1.title_id).Length - (int)(4),
(int)(4)) });
TopPage
ファイル名 No41_2.linq 関数名 RIGHT 引数の説明 NULL 許容(char 型)から整数リテラル文字分T-SQL SELECT stor_id, RIGHT(stor_id, 2) AS value
FROM discounts
LINQ discounts
.Select(x1 => new
{
x1.stor_id,
value = (x1.stor_id).Substring((x1.stor_id).Length - (int)(2), (int)(2))
});
TopPage
ファイル名 No41_3.linq
関数名 RIGHT
引数の説明 NULL 許容(char 型)から NULL 許容(smallint 型)文字分
T-SQL SELECT stor_id, lowqty, RIGHT(stor_id, lowqty) AS value
FROM discounts LINQ コード discounts .Select(x1 => new { x1.stor_id, x1.lowqty,
value = (x1.stor_id).Substring((x1.stor_id).Length - (int)(x1.lowqty),
(int)(x1.lowqty)) });
TopPage
ファイル名 No42.linq 関数名 ROUND 引数の説明 対象数 = NULL 許容(money 型), 小数桁 = 整数リテラルT-SQL SELECT price, ROUND(price, 1, 1) AS marume
FROM titles
WHERE type = 'business'
LINQ コード titles
.Where(x1 => x1.type == "business") .Select(x1 => new
{
x1.price,
marume = x1.price == null ? null :
(decimal?)decimal.Round((x1.price) ?? 0, 1, MidpointRounding.ToEven) });
TopPage
ファイル名 No42_2.linq
関数名 ROUND
引数の説明 対象数 = NULL 禁止(decimal(4, 2)型), 小数桁 = 整数リテラル
T-SQL SELECT discount, ROUND(discount, 1) AS marume
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.discount,
marume = decimal.Round(x1.discount,1, MidpointRounding.ToEven)
});
TopPage
ファイル名 No42_3.linq
関数名 ROUND
引数の説明 対象数 = NULL 禁止(decimal(4, 2)型), 小数桁 = NULL 許容(int 型)
T-SQL SELECT discount, lowqty, ROUND(discount, lowqty / 100) AS marume
FROM discounts LINQ コード discounts .Select(x1 => new { x1.discount, x1.lowqty,
marume = x1.lowqty / 100 == null ? null :
(decimal?)decimal.Round(x1.discount, (x1.lowqty / 100) ?? 0, MidpointRounding.ToEven)
});
TopPage
関数名 ROUND
引数の説明 対象数 = NULL 許容(money 型), 小数桁 = NULL 許容(int 型)
T-SQL SELECT price, royalty, ROUND(price, royalty / 100) AS marume
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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) });
TopPage
ファイル名 No43.linq 関数名 RTRIM 引数の説明 NULL 禁止(varchar 型)T-SQL SELECT title_id, RTRIM(title) AS trim
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new
{
x1.title_id,
trim = (x1.title).TrimEnd(null)
});
TopPage
ファイル名 No43_2.linq
関数名 RTRIM
引数の説明 NULL 許容(char 型)
T-SQL SELECT stor_id, RTRIM(stor_id) AS trim
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
});
TopPage
ファイル名 No44.linq
関数名 SIGN
引数の説明 NULL 許容(money 型)
T-SQL SELECT price, SIGN(price) AS hugou
FROM titles
WHERE type = 'business'
LINQ コード titles
.Where(x1 => x1.type == "business") .Select(x1 => new
{
x1.price,
hugou = x1.price == null ? null : (int?)Math.Sign((x1.price) ?? 0) });
TopPage
ファイル名 No44_2.linq
関数名 SIGN
引数の説明 NULL 禁止(decimal(4, 2)型)
T-SQL SELECT discount, SIGN(discount) AS hugou
FROM discounts LINQ コード discounts .Select(x1 => new { x1.discount, hugou = Math.Sign(x1.discount) });
TopPage
ファイル名 No45.linq 関数名 SPACE 引数の説明 整数リテラルT-SQL SELECT au_id, au_lname + SPACE(5) + au_fname AS namae
FROM authors WHERE au_id = '172-32-1176' LINQ コード authors .Where(x1 => x1.au_id == "172-32-1176") .Select(x1 => new { x1.au_id,
namae = x1.au_lname + (new string('\u0020', 5)) + x1.au_fname });
TopPage
ファイル名 No45_2.linq 関数名 SPACE 引数の説明 NULL 許容(int 型)T-SQL SELECT title_id, pub_id, royalty, title_id + SPACE(royalty) + pub_id AS
value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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
});
TopPage
ファイル名 No46.linq
関数名 STR
引数の説明 対象数 = NULL 許容(money 型), 小数桁 = 整数リテラル
T-SQL SELECT price, STR(price, 4, 1) AS marume
FROM titles
WHERE type = 'business'
LINQ コード titles
.Where(x1 => x1.type == "business") .Select(x1 => new
{
x1.price,
marume = (x1.price == null ? null : (decimal.Round((x1.price) ?? 0, 1, MidpointRounding.ToEven)).ToString()) });
TopPage
ファイル名 No46_3.linq 関数名 STR 引数の説明 対象数 = NULL 禁止(decimal(4, 2)型), 小数桁 = 整数リテラルT-SQL SELECT discount, STR(discount, 4, 1) AS marume FROM discounts LINQ コード discounts .Select(x1 => new { x1.discount,
marume = (decimal.Round(x1.discount, 1, MidpointRounding.ToEven)).ToString()
});
TopPage
ファイル名 No46_4.linq
関数名 STR
引数の説明 対象数 = NULL 禁止(decimal(4, 2)型), 小数桁 = NULL 許容(int 型)
T-SQL SELECT discount, lowqty, STR(discount, 4, lowqty / 100) AS marume
FROM discounts LINQ コード discounts .Select(x1 => new { x1.discount, x1.lowqty,
marume = (x1.lowqty / 100 == null ? null : (decimal.Round(x1.discount, (x1.lowqty / 100) ?? 0, MidpointRounding.ToEven)).ToString())
});
TopPage
ファイル名 No46_5.linq
関数名 STR
引数の説明 対象数 = NULL 許容(money 型), 小数桁 = NULL 許容(int 型)
T-SQL SELECT price, royalty, STR(price, 4, royalty / 10) AS marume
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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()) });
ファイル名 No47.linq
関数名 STUFF
引数の説明 対象文字列 = NULL 禁止(char 型), 対象位置 = 整数リテラル,
削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル
T-SQL SELECT type, STUFF(type, 5, 4, 'NESS') AS hennkei
FROM titles
WHERE type = 'business'
LINQ コード titles
.Where(x1 => x1.type == "business") .Select(x1 => new
{
x1.type,
hennkei = ((x1.type).Remove(5 - 1, 4)).ToString().Insert(5 - 1, "NESS") });
TopPage
ファイル名 No47_2.linq 関数名 STUFF 引数の説明 対象文字列 = NULL 許容(char 型), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラルT-SQL SELECT stor_id, STUFF(stor_id, 2, 2, '??') AS hennkei
FROM discounts
LINQ コード discounts
.Select(x1 => new
{
x1.stor_id,
hennkei = ((x1.stor_id).Remove(2 - 1, 2)).ToString().Insert(2 - 1, "??")
});
TopPage
ファイル名 No47_3.linq
関数名 STUFF
引数の説明 対象文字列 = NULL 禁止(varchar 型), 対象位置 = NULL 許容(int 型),
削除文字数 = 整数リテラル, 挿入文字列 = 文字列リテラル
T-SQL SELECT title_id, royalty, STUFF(title_id, royalty / 10 + 1, 4, '????') AS
hennkei
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles
.Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%"))
.Select(x1 => new
{
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, "????")) });
TopPage
ファイル名 No47_4.linq 関数名 STUFF 引数の説明 対象文字列 = NULL 禁止(varchar 型), 対象位置 = 整数リテラル, 削除文字数 = NULL 許容(int 型), 挿入文字列 = 文字列リテラルT-SQL SELECT title_id, royalty, STUFF(title_id, 3, royalty / 10, '????') AS
hennkei
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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, "????")) });
TopPage
ファイル名 No47_5.linq
関数名 STUFF
引数の説明 対象文字列 = NULL 禁止(char 型), 対象位置 = NULL 許容(int 型),
削除文字数 = NULL 許容(int 型), 挿入文字列 = 文字列リテラル
T-SQL SELECT discounttype, highqty, lowqty, STUFF(discounttype, highqty / 100,
lowqty / 100, '?') AS hennkei FROM discounts LINQ コード discounts .Select(x1 => new { x1.discounttype, x1.highqty, x1.lowqty,
hennkei = (x1.highqty / 100 == null ? null : x1.lowqty / 100 == null ?
100) ?? 0)).ToString().Insert((x1.highqty / 100 - 1) ?? 0, "?")) });
TopPage
ファイル名 No47_6.linq 関数名 STUFF 引数の説明 対象文字列 = NULL 禁止(char 型), 対象位置 = 整数リテラル, 削除文字数 = 整数リテラル, 挿入文字列 = NULL 許容(char 型)T-SQL SELECT discounttype, stor_id, STUFF(discounttype, 2, 2, stor_id) AS
hennkei FROM discounts LINQ コード discounts .Select(x1 => new { x1.discounttype, x1.stor_id,
hennkei = ((x1.discounttype).Remove(2 - 1, 2)).ToString().Insert(2 -
1, x1.stor_id) });
TopPage
ファイル名 No48.linq 関数名 SUBSTRING 引数の説明 対象文字列 = NULL 禁止(char 型), 開始位置 = 整数リテラル, 文字数 = 整数リテラルT-SQL SELECT type, SUBSTRING(type, 5, 4) AS sentou
FROM titles
WHERE type = 'business'
LINQ コード titles
.Where(x1 => x1.type == "business") .Select(x1 => new { x1.type, sentou = (x1.type).Substring(5 - 1, 4) });
TopPage
ファイル名 No48_2.linq 関数名 SUBSTRING 引数の説明 対象文字列 = NULL 許容(char 型), 開始位置 = 整数リテラル, 文字数 = 整数リテラルFROM discounts LINQ コード discounts .Select(x1 => new { x1.stor_id, sentou = (x1.stor_id).Substring(2 - 1, 2) });
TopPage
ファイル名 No48_3.linq 関数名 SUBSTRING引数の説明 対象文字列 = NULL 禁止(varchar 型), 開始位置 = NULL 許容(int 型),
文字数 = 整数リテラル
T-SQL SELECT title_id, royalty, SUBSTRING(title_id, royalty / 10, 4) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.title_id, x1.royalty,
value = (x1.royalty / 10 == null ? null :
(x1.title_id).Substring((x1.royalty / 10 - 1) ?? 0, 4)) });
TopPage
ファイル名 No48_4.linq 関数名 SUBSTRING 引数の説明 対象文字列 = NULL 禁止(char 型), 開始位置 = 整数リテラル, 文字数 = NULL 許容(int 型)T-SQL SELECT title_id, royalty, SUBSTRING(title_id, 2, royalty / 10) AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { x1.title_id, x1.royalty,
value = (x1.royalty / 10 == null ? null : (x1.title_id).Substring(2 -
1, (x1.royalty / 10) ?? 0)) });
TopPage
ファイル名 No48_5.linq
関数名 SUBSTRING
引数の説明 対象文字列 = NULL 禁止(char 型), 開始位置 = NULL 許容(int 型),
文字数 = NULL 許容(int 型)
T-SQL SELECT title_id, royalty, SUBSTRING(title_id, royalty / 10, royalty / 10)
AS value
FROM titles
WHERE title_id LIKE 'MC%'
LINQ コード titles .Where(x1 => System.Data.Linq.SqlClient.SqlMethods.Like(x1.title_id, "MC%")) .Select(x1 => new { 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)) });
TopPage
ファイル名 No49.linq 関数名 SUM 引数の説明 NULL 許容(money 型)T-SQL SELECT pub_id, SUM(price) AS price
FROM titles
GROUP BY pub_id
HAVING pub_id = '0736'
LINQ コード titles
.GroupBy(x1 => new{grKey1 = x1.pub_id}) .Where(g1 => g1.Key.grKey1 == "0736") .Select(g1 => new
{
pub_id = g1.Key.grKey1,
price = g1.Sum(x1 => x1.price) });
TopPage
ファイル名 No50.linq
関数名 UPPER
T-SQL SELECT title_id, UPPER(title) AS oomoji
FROM titles
WHERE title_id = 'BU1032'
LINQ コード titles
.Where(x1 => x1.title_id == "BU1032") .Select(x1 => new { x1.title_id, oomoji = (x1.title).ToUpper() });
TopPage
ファイル名 No50_2.linq 関数名 UPPER 引数の説明 NULL 許容(char 型)T-SQL SELECT state, UPPER(state) AS komoji
FROM publishers LINQ コード publishers .Select(x1 => new { x1.state, komoji = (x1.state).ToUpper() });
TopPage
ファイル名 No51.linq 関数名 YEAR 引数の説明 NULL 禁止(datetime 型)T-SQL SELECT ord_date, YEAR(ord_date) AS nenn
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, nenn = (x1.ord_date).Year });
TopPage
ファイル名 No52.linq 関数名 YEAR引数の説明 文字列リテラルで表した時間
T-SQL SELECT ord_date, YEAR('1994-09-14') AS hinichi
FROM sales WHERE stor_id = '6380' LINQ コード sales .Where(x1 => x1.stor_id == "6380") .Select(x1 => new { x1.ord_date, hinichi = (DateTime.Parse("1994-09-14")).Year });
TopPage
ファイル名 No52_2.linq 関数名 YEAR引数の説明 (Northwind データベース)NULL 許容(datetime 型)
T-SQL SELECT ShippedDate, YEAR(ShippedDate) AS value
FROM Orders
WHERE OrderID = 11008 OR OrderID = 11009
LINQ コード Orders
.Where(x1 => x1.OrderID == 11008 || x1.OrderID == 11009) .Select(x1 => new
{
x1.ShippedDate,
value = (x1.ShippedDate == null ? null : (int?)((x1.ShippedDate) ??
new DateTime(1900,1,1)).Year) });