ユーザー ID (int) によっていくつかのレコードをユーザーと照合しようとしています。ただし、これは動的に行われるため、すべてのレコードを同時に照合できる必要があります (LIKE ワイルドカードに「%」文字を渡します)。以前にこれを行ったことがありますが、偶然この問題に遭遇しました。
Declare
@uid varchar = 300
SELECT * FROM items WHERE user_id LIKE @uid
機能しませんが、これは機能します
Declare
@uid varchar(10) = 300
SELECT * FROM items WHERE user_id LIKE @uid
varchar のサイズが宣言されていない場合、最初のバージョンが機能しないのはなぜですか? エラーが発生しないのはなぜですか?
環境はMSSQL SERVER 2008 R2です