【问题标题】:Search an int value in SQL [closed]在 SQL 中搜索 int 值
【发布时间】:2013-01-19 21:04:37
【问题描述】:

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

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

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

bookId 是自动生成的 INT 值。

【问题讨论】:

  • 您能补充更多信息吗?比如你的数据库架构和查询?
  • 您能否展示您的表格示例数据以及您的查询? :)
  • @Jacco 不!你为什么这么认为?!!没有关系,甚至不同的用户。
  • @user1181065 因为另一个无法删除工作,同样基于 BookID。这只是好奇,没有责备或类似的事情。希望您能找到有用的答案。

标签: sql search integer


【解决方案1】:

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

我假设您的表可以通过以下 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,而是一些文本类型。但同样,仅使用您迄今为止提供的数据很难为您提供帮助。

【讨论】:

  • 真的很抱歉。我编辑了我的问题。这是INT...
  • @user1181065,没问题。不过还是帮不了你。由于您的问题现在已经关闭,我会尝试改进它,什么时候最好要求重新打开。这个article 可以帮助你。祝你好运!
【解决方案2】:

假设你有桌子 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 的数据

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-04-05
    • 2011-06-04
    • 1970-01-01
    • 2012-11-21
    • 2021-10-24
    • 1970-01-01
    • 2021-09-18
    • 2023-03-07
    相关资源
    最近更新 更多