I'm using MS Access to work with an SQL Server database through an ODBC connection on Windows 7.
最終的な目標は、行のサブセットのフィールドの 1 つに文字列リテラルを追加することです。ただし、最初は、すべてが正しいことを確認できるように、SELECT を実行しようとしています。フィールドに文字列リテラルを追加しようとすると問題が発生します。
以下の単純な SQL はうまく機能します。
SELECT Name FROM Customers WHERE CustomerType = 1;
次のステップは、表示される名前を少し変更することでした。
SELECT Name, 'PREFIX' & Name FROM Customers WHERE CustomerType = 1;
上記も機能しました。次に、次のことを試しました。
SELECT Name, Name & 'SUFFIX' FROM Customers WHERE CustomerType = 1;
これは動作しません。出力には、何も追加されていない Name フィールドのみが表示されます。調べてみると、SQL Server は CONCATENATE('a' + 'b') をサポートしているようです。クエリでそれを使用しようとしましたが、CONCATENATE 関数がないという Access からのエラーで失敗しました。
また、代わりに二重引用符と & の代わりに + を試しました。
接頭辞のケースが機能し、接尾辞のケースが機能しなかったのは奇妙に思えます。
繰り返しになりますが、最終的な目標は、以下のようなものを構築することです。
UPDATE Customers SET Name = Name & 'SUFFIX' WHERE CustomerType = 1;
これにより、テーブル内の行のサブセットのテキスト フィールドにサフィックスが追加されます。
何か案は?