2011-01-17 6 views
2

Ich habe eine Tabelle wie folgt aus: (kann das nicht ändern)Wie in Linq zu SQL trimmen?

id value other 
----------------------------- 
1 000033 sasdsa 
2 000033 dasfgds 
3 33  sadasdas 
4 33  pdfsfsd 
5 234543 posjfd 

Kann mir jemand sagen, wie kann ich führende Nullen mit Linq trimmen?

Ich habe versucht dies:

from t in table 
where (t.value.TrimStart('0')).Equals("33") 
select t 

aber es funktioniert nicht: S

+0

Funktioniert es nicht, weil Sie eine nicht unterstützte Methodenausnahme erhalten oder der tatsächliche Code nicht die gewünschten Ergebnisse liefert? – Tom

Antwort

3

Der ‚Wert‘ Feld offensichtlich ein String ist, da es die führenden Nullen beibehalten wird. Ich habe es nicht ausprobiert, aber können Sie den Wert nicht vor dem Vergleich als Ganzzahl ausgeben? Etwas wie:

 
from t in table 
where (t => Convert.ToInt32(t) == 33) 
select t 

Wenn Sie den Wert als Zeichenfolge zu halten brauchen, könnten Sie string.EndsWith() verwenden, aber Sie könnten Probleme haben, mit dem richtigen ‚Wert‘ entspricht.

+0

thx, ich habe nicht einmal an diese einfache Lösung gedacht :) – Wolfy