Linq SELECT AS and CONCAT
本文关键字:CONCAT and AS SELECT Linq | 更新日期: 2023-09-27 18:34:41
我得到了一个SQL查询,我需要将其转换为LINQ,这不是问题,但是在这个特定查询中,我需要帮助几个项目,这些是选择列名作为''以及连接。 以下是有问题的查询:
SELECT vessel_idx,
vessel_name,
spotlist_dp,
spotlist_bhp,
spotlist_deck,
spotlist_bp,
spotlist_oilrec,
spotlist_fifi,
spotlist_rov,
'' AS fixture_charterer,
'' AS fixture_work,
CONCAT( fixture_charterer ,
' ',
mid(fixture_start,9,2),
'/',
mid(fixture_start,6,2)) AS next_charterer_info,
'' AS fixture_location,
'0000-00-00 00:00:00' AS fixture_stop,
'' AS fixture_note
FROM tbl_vessels
WHERE vessel_type='AHTS'
AND current_location_spotlist_id = 2
AND fixture_start > '2016-02-12 08:30:00'
AND vessel_status = 'PPT'
ORDER BY fixture_stop
我可以处理的通常的东西,如 AND、WHERE 等,纯粹是我正在努力解决的这些部分。 选择列为":
SELECT '' AS fixture_charterer,
'' AS fixture_work,
和串联
CONCAT( fixture_charterer ,
' ',
mid(fixture_start,9,2),
'/',
mid(fixture_start,6,2)) AS next_charterer_info,
'' AS fixture_location,
'0000-00-00 00:00:00' AS fixture_stop,
'' AS fixture_note
非常感谢
SELECT AS 表示为:
var demo = from vessel in db.tbl_vessels
select new {
fixture_charterer = "",
fixture_work = ""
};
CONCAT是:
var demo = from vessel in db.tbl_vessels
select new {
fixture_note = fixture_charterer + " " + next_charterer_info
};
您可以轻松选择常量,例如""
:
var q = from v in ....
....
select new
{
...,
fixture_charterer = "",
fixture_work = "",
next_charterer_info =
(v.fixture_charterer ?? "") + " "
+ (v.fixture_start == null ? "" : v.fixture_start.Substring(8,2))
};