2016-06-21 25 views
0

Ich erhalte die below Störung, wenn ich meine Abfrage ausführen:MATLAB ODBC SQL Server Driver SQL Server Ungültiger Spaltenname

Message: 'ODBC Driver Error: [Microsoft][ODBC SQL Server Driver][SQL Server]Invalid column name 'SSC%'.'

ich meine Abfrage wie folgt geschrieben:

"query = 'select top 500 * from [dbo].[accu_HISTORY_CONFIG] WHERE Description LIKE "SSC%"';" 

Ich bin neu in der MATLAB Datenbank-Explorer. Im Grunde habe ich versucht, alle "Beschreibungen" zu finden, die die ersten drei Buchstaben "SSC" enthält. Ich bekomme jedoch immer wieder den Fehler "ungültiger Spaltenname". Ich vermute, dass MATLAB meine "SSC%" als Spaltenname behandelt? Wie soll ich das beheben? Jeder Vorschlag wird sehr geschätzt werden !!

Teng

+0

Verwenden Sie einfache Anführungszeichen für Zeichenfolgenliterale. (Anführungszeichen sind für Begrenzungsbezeichner, beispielsweise Spaltennamen.) '... WHERE Beschreibung LIKE 'SSC%'. – jarlh

+0

@jarlh danke für den Rat. Ja, ich habe es versucht. Tatsächlich habe ich ursprünglich ein solches Format verwendet. "%" Wird jedoch in Matlab als Kommentar behandelt. Wenn Sie nur einfache Anführungszeichen verwenden, werden die letzten drei Symbole, , grün (als Kommentare). –

+0

Vielleicht braucht Ihre Umgebung doppelte Anführungszeichen? I.e. '... WHERE Beschreibung LIKE '' SSC% '' ';' – jarlh

Antwort

1

'beendet die Zeichenfolge für Matlab, aber Sie wollen die' innerhalb der Zeichenfolge. Wenn Sie dies tun möchten, verwenden Sie es einfach zweimal:

query = 'select top 500 * from [dbo].[accu_HISTORY_CONFIG] WHERE Description LIKE ''SSC%'' '; 
+0

Vielen Dank! Es funktioniert jetzt gut. –

0

Normalerweise Ihre Wildcard-Anweisung würde in einfachen Anführungszeichen gehalten werden.

So wäre es in der Regel

'select top 500 * from [dbo].[accu_HISTORY_CONFIG] WHERE Description LIKE 'SSC%'' 

Wenn nicht, wird dieser Artikel helfen sollte decken, was Sie brauchen.

https://support.microsoft.com/en-us/kb/222664

Verwandte Themen