2013-07-11 50 views
0

我有一個查詢,我需要它在SQL中轉換。一直在尋找做這個有一段時間了,但沒有成功 這裏是Oracle查詢Oracle SQL語句到Linq不工作

SELECT 
    DRKY AS REASON_CODE, 
    DRDL01 AS DESCRIPTION 
FROM shema.SourceTable 
WHERE drsy = '00' AND DRDL01 IS NOT NULL AND (drrt = 'W4' OR drrt = 'W5') and NVL (trim(DRKY), '000') = '801'; 

這是我的LINQ查詢沒有返回值

  var RJDEReasonCode = from a in JTable.SourceTable 
          where 
           a.DRSY.Equals("00") && 
           a.DRDL01 != null && 
           (a.DRRT.Equals("W4") || 
           a.DRRT.Equals("W5")) && 
           a.DRKY.Equals("801") // here is where the problem is tried many things but nothing has worked so far. 
          select new 
          { 
           CATEGORY_CODE = a.DRRT, 
           REASON_CODE = a.DRKY, 
           DESCRIPTION = a.DRDL01 
          }; 

回答

3

它看起來像你只需要修剪DRKY

a.DRKY.Trim() == "801" 

或者可能:

a.DRKY != null && a.DRKY.Trim() == "801" 

(我個人覺得==字符串比較比使用Equals簡單,但情況因人而異。)

+0

+1我也很喜歡使用==多於等於:P,而且我認爲這是的原因問題 –

+0

我有另一個查詢返回一組代碼,我想將它們插入801,我該怎麼做?這裏是我的第一個查詢返回的結果是已經使用綁定到gridview var RCode =從一個在DbEntity.MobileAssetDowntimeReasonCodes其中a.MobileAssetCategoryId.Equals(reasonCode)選擇新的{a.JdeReasonCode}; ReasonCode.DataSource = RCode.ToList(); ReasonCode.DataBind();需要使用RCode值而不是801 – user2315840

+0

@ user2315840:這不太清楚你的意思,但我建議你問一個新的(適當詳細的)問題。你可能想用一個連接來代替... –