2016-05-20 6 views
-1

erhalten Bitte helfen Sie mir mit meinem Problem Ich versuche, eine Nummer in SQL Server Beispiel 1000 zu finden, aber dieser Code gibt mir einen Fehler.Immer einen Fehler beim Ermitteln der Nummer in SQL Server

public IEnumerable<NCABal> FindByNCABal(Double Data) 
{ 
    var query = @"SELECT * FROM [dbo].[NCA_Balance] WHERE NCABalAmt LIKE '%'+'" + Data + "'+'%'"; 
    return this._db.Query<NCABal>(query).ToList(); 
} 

Fehler:

Implicit conversion from data type money to varchar is not allowed. Use the CONVERT function to run this query.

Wie kann ich dieses Problem lösen? Bitte hilf mir.

+0

Warum verwenden Sie wie? Verwenden Sie stattdessen = 'NCABalAmt =" + Data + ";' –

+0

Interessant, warum tritt ein Fehler in Zeichenfolge-Konkord für "Data" überhaupt nicht auf? Und du solltest '=' anstelle von 'LIKE' verwenden. – Eric

+0

Ist" LIKE "nur auf Strings begrenzt ?? – James

Antwort

1

Ihre Abfrage versucht, Einträge zu finden, in denen NCABalAmt die Zahl enthält, die Sie in einem Teil davon übergeben.

z.B. Wenn Sie 1000 übergeben, versuchen Sie nach einer beliebigen Zahl mit 1000 zu suchen. So würden Sie 10000, 1000, 6451000897 usw. erhalten ...

Sie müssen Ihr ursprüngliches Feld zu einem varchar umwandeln, um LIKE gegen es auf diese Weise zu verwenden.

WHERE CONVERT(varchar(100), NCABalAmt) LIKE '%" +...+ "%'" 

Könnte dies tun. Ich bin mir nicht sicher, ob Sie das wirklich vorhaben.

+0

Das löst mein Problem. Das will ich wirklich machen, Nummer mit "1000" darin finden. Vielen vielen Dank, Sir. :) – James

+0

Sir, ich habe noch eine Frage. Warum kann ich Daten zwischen Bindestrichen nicht zuordnen? Beispiel in dem Datum 2016-05-20, versuche ich, Nummer 5 mit Like-Anweisung zu finden, aber es kann nicht Nummer 5 oder sogar 05 finden? – James

+0

Datumsumwandlung ist schwierig, Sie müssen ein Datumsformat zur Konvertierung hinzufügen. Überprüfen Sie http://stackoverflow.com/questions/74385/how-to-convert-datetime-to-varchar. Es wäre am besten, wenn Sie eine andere Frage öffnen würden. – Brody

Verwandte Themen