這是試圖運行此查詢時,我得到的錯誤:轉換VARCHAR值‘307 307 307’時轉換失敗「...」到的數據類型爲int
轉換失敗到 數據類型int。
查詢:
select count(sd.mrid)
,replace(replace(substring(sd.mrref_to_mr, charindex('l', sd.mrref_to_mr), len(sd.mrref_to_mr)), 'l', ''), 'x10', '')
where sd.mrref_to_mr like '%x10'
group by replace(replace(substring(sd.mrref_to_mr, charindex('l', sd.mrref_to_mr)), 'l', ''), 'x10', '')
, imw.mrtitle
order by replace(replace(substring(sd.mrref_to_mr, charindex('l', sd.mrref_to_mr)), 'l', ''), 'x10', '') desc
,它的抱怨領域是這樣的:
L5587x6 5587
或將有類似5587
或L5587x6
我需要的只是5587
但我需要它看起來像一個數值。我只需要匹配到另一個領域是MRID,它是一個int
隨着最近一次對您的查詢的編輯,您不再有一個from子句。 (在這裏我並不想挑剔,但是如果你要在你的查詢中嘗試一組相當複雜的嵌套字符串函數,你真的必須注意細節。你的兩個版本我看到的查詢都有基本的語法錯誤,沒有人能夠在沒有看到實際的查詢失敗的情況下幫助你,而不是語法錯誤的類似查詢。) – DeadZone 2015-03-31 18:58:48