在SQL中搜索int值

时间:2013-01-19 21:04:38

标签: sql search integer

如何在表格中搜索int值?实际上我的sql查询适用于字符串值,但不适用于数字。

SELECT * FROM [Book] WHERE ([bookId] = @bookId)

我正在使用vs并从文本框中获取值。在gridview中插入查询。

bookId是自动生成的INT值。

2 个答案:

答案 0 :(得分:1)

假设您有表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

答案 1 :(得分:1)

除非您向我们提供更多信息,否则很难回答这个问题。在这种情况下,有用的信息是 Book 表的表模式或CREATE语句,包括表中的属性(或列)列表及其数据类型。了解您正在使用的数据库管理系统(DBMS),如MySQL,PostgreSQL,Microsoft SQL Server,Oracle数据库等,也会有所帮助。

我假设您的表可以通过以下CREATE语句创建:

CREATE TABLE Book (
  bookId INT,
  bookTitle VARCHAR(30),
  bookAuthor VARCHAR(30),
  ..
);

在这种情况下,假设(再次)您的图书表包含一本包含 bookId 3的图书,以下查询应该没有问题地运行:

DECLARE @bookId INT;
SET @bookId = 3;

SELECT *
FROM   [Book]
WHERE  ([bookId] = @bookId);

如果这不起作用,我猜你的 bookId 属性的数据类型不是INT,而是一些文本类型。但同样,仅使用您目前提供的数据很难帮助您。