2016-06-21 25 views
0

私は私のクエリを実行すると、私は以下のエラーが表示されます。私はに新しいですMATLAB ODBC SQL ServerのドライバーのSQL Serverの無効な列名

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

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

私はこのような私のクエリを書きましたMATLABデータベースエクスプローラ基本的には、最初の3文字「SSC」を含む「説明」をすべて検索しようとしていました。しかし、私はこの "無効な列名"エラーを取得し続けます。 MATLABが私の"SSC%"を列名として扱ったと思いますか?私はこれをどのように修正すべきですか?どんな提案も大歓迎です!

テン

+0

文字列リテラルには一重引用符を使用してください。 (二重引用符は、列名などの区切られた識別子のためのものです) '... WHERE説明LIKE 'SSC%''。 – jarlh

+0

@jarlhアドバイスをいただきありがとうございます。はい、私はそれを試しました。実際には、もともと私はそのようなフォーマットを使用していました。ただし、 "%"はMatlabのコメントとして扱われます。一重引用符を使用している場合、最後の3つのシンボル は緑色になります(コメントとして) –

+0

環境に二重引用符が必要なのでしょうか?私。 '... WHERE説明LIKE '' SSC% '"' ' – jarlh

答えて

1

は、「MATLABの文字列を終了しますが、したい」あなたの文字列内に。 2回使用するだけです:

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

ありがとうございました!今はうまくいく。 –

0

通常、ワイルドカードステートメントは単一引用符で囲みます。

ないので、もし、それが一般的に

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

だろう、このヘルプ記事は、あなたが必要なものをカバーしなければなりません。

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

関連する問題