- PR -

likeでバインド変数を使用する場合の指定方法

1
投稿者投稿内容
タンク
常連さん
会議室デビュー日: 2002/02/21
投稿数: 20
投稿日時: 2005-03-10 15:41
likeでバインド変数を使用する場合の指定方法の指定方法を教えてください。
データベースはAccess2003を使用しています。
よろしくお願いします。

"SELECT * FROM MemberInfo_TBL WHERE Name LIKE @Name || '*'"
と記述したのですが、「垂直バーの使い方が正しくありません」となってしまいます。
kanai
ベテラン
会議室デビュー日: 2004/09/13
投稿数: 98
投稿日時: 2005-03-10 15:46
Accessでは、文字列の結合は||でなく&です。

SELECT * FROM MemberInfo_TBL WHERE Name LIKE @Name & '*'
タンク
常連さん
会議室デビュー日: 2002/02/21
投稿数: 20
投稿日時: 2005-03-11 10:15
文字列の結合の件、ありがとうございます。||じゃなく&なのですね。
結合文字は修正したのですが、うまくいきませんでした。

まずは、バインド変数を使用せず、下記のようなSQLを実行してみました。

[SQL]
strSQL = "SELECT * FROM MemberInfo_TBL WHERE Name LIKE " & """" & "山本*" & """"

[DATA]
001 山本太郎
002 本田雄二
003 山本*

[結果]
003 山本*

となってしまいました。
原因についてわかる方がいらっしゃいましたら是非教えてください。

同じSQLをACCESSのクエリで実行すると正しい結果になります。
[結果]
001 山本太郎
003 山本*
タンク
常連さん
会議室デビュー日: 2002/02/21
投稿数: 20
投稿日時: 2005-03-11 10:20
ワイルドカードを"*"ではなく"%"に変更したら、うまくいきました。
お騒がせしました。
1

スキルアップ/キャリアアップ(JOB@IT)