sql - Firebird:为什么这个sql语句在存在记录时找不到记录?

标签 sql firebird

我有这个sql语句:

SELECT * from tBooks where BookNbr = '20111122-001'

BookNbr 定义为 varchar (15),并且该记录确实存在于表中。

我认为这可能与破折号有关,但不知道为什么......

最佳答案

所以这可能是连字符与短破折号与长破折号的问题。 (您可以通过将显示的匹配字段粘贴到 ascii 编辑器中以查看是否出现多字节字符来确认这一点。)

SELECT * from tBooks where BookNbr like '20111122%001'

这样 % 会忽略中间的特定标点符号。

关于sql - Firebird:为什么这个sql语句在存在记录时找不到记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10539169/

相关文章:

sql - VBA在访问功能中按日期搜索

sql - ORDER BY 列 = 值 desc|asc

java - 来自 Firebird 数据库的 Netbeans Hibernate 映射文件和 POJO 向导中的 NullPointerException

php - 带有 ibase 查询的递归函数 php

mysql - MSQ 无法从它选择的同一表格中删除 - 需要帮助解决我的删除触发器中的问题

python - 我想要一个索引文件目录的聪明算法......指针?

mysql sql : how to cumulate count ?(计数总和)

asp.net - Firebird 是适用于 ASP.NET 的良好嵌入式数据库吗?还有哪个?

Qt 5.x。编译 IBASE plagin Ubuntu 16.10

delphi - 如何使用 FireDAC 提取存储过程 DDL