int
テーブル内の値を検索するにはどうすればよいですか? 実際、私のSQLクエリは文字列値では機能しますが、数値では機能しません。
SELECT * FROM [Book] WHERE ([bookId] = @bookId)
私は vs を使用しており、テキスト ボックスから値を取得しています。グリッドビューにクエリを挿入します。
bookId
は自動生成されたINT
値です。
もう少し情報を提供しない限り、この質問に答えるのは非常に困難です。この場合に役立つ情報は、Bookテーブルのテーブル スキーマまたは CREATE ステートメントであり、テーブル内の属性 (または列) とそのデータ型のリストで構成されます。また、MySQL、PostgreSQL、Microsoft SQL Server、Oracle Database など、使用しているデータベース管理システム (DBMS) を知ることも役立ちます。
次の CREATE ステートメントでテーブルを作成できると仮定しています。
CREATE TABLE Book (
bookId INT,
bookTitle VARCHAR(30),
bookAuthor VARCHAR(30),
..
);
この場合、(再び) BookテーブルにbookId 3 の本が含まれていると仮定すると、次のクエリは問題なく実行されます。
DECLARE @bookId INT;
SET @bookId = 3;
SELECT *
FROM [Book]
WHERE ([bookId] = @bookId);
これが機能しない場合、bookId属性のデータ型は INT ではなく、何らかのテキスト型であると推測できます。繰り返しになりますが、これまでに提供していただいたデータだけでお手伝いすることは困難です。
テーブルAがあるとしましょう
+----------------+---------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------------+---------------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| data | int(11) | NO | MUL | NULL | |
クエリ
select * from A where data = 3
テーブル A から int 値 3 のすべてのデータを返します