如何避免SQL查询中字符串匹配的常见错误和陷阱?
- 内容介绍
- 文章标签
- 相关推荐
本文共计802个文字,预计阅读时间需要4分钟。
当对字符串使用大于等于或小于等于不等号时,会得到以下结果:我们使用下方的Chars表来进行确认。然而,该表中存储的均为数字,而chr是字符串类型。CHAR >=<=对字符串使用大于等于或小于等于不等号时,会得到以下结果:
对字符串使用大于等于或者小于等于不等号时会得到什么样的结果我们使用下面的Chars表来进行确认。虽然该表中存储的都是数字但chr是字符串类型CHAR对字符串使用大于等于或者小于等于不等号时会得到什么样的结果 我们使用下面的 Chars 表来进行确认。虽然该表中存储的都是数字但 chr 是字符串类型CHAR 类型的列。
chars 表的创建
start transaction;insert into chars values(1);insert into chars values(2);insert into chars values(3);insert into chars values(10);insert into chars values(11);insert into chars values(222);commit;
那么对 Chars 表执行下列 SELECT 语句查询条件是 chr 列大于 ‘2’会得到什么样的结果呢
select chrfrom chars c where chr > 2;
大家是不是觉得应该选取出比 2 大的 3、10、11 和 222 这 4 条记录呢下面就让我们来看看该 SELECT 语句的执行结果吧。
没想到吧是不是觉得 10 和 11 比 2 大所以也应该选取出来呢
大家之所以这样想是因为混淆了数字和字符串也就是说 2 和 ‘2’ 并不一样。
本文共计802个文字,预计阅读时间需要4分钟。
当对字符串使用大于等于或小于等于不等号时,会得到以下结果:我们使用下方的Chars表来进行确认。然而,该表中存储的均为数字,而chr是字符串类型。CHAR >=<=对字符串使用大于等于或小于等于不等号时,会得到以下结果:
对字符串使用大于等于或者小于等于不等号时会得到什么样的结果我们使用下面的Chars表来进行确认。虽然该表中存储的都是数字但chr是字符串类型CHAR对字符串使用大于等于或者小于等于不等号时会得到什么样的结果 我们使用下面的 Chars 表来进行确认。虽然该表中存储的都是数字但 chr 是字符串类型CHAR 类型的列。
chars 表的创建
start transaction;insert into chars values(1);insert into chars values(2);insert into chars values(3);insert into chars values(10);insert into chars values(11);insert into chars values(222);commit;
那么对 Chars 表执行下列 SELECT 语句查询条件是 chr 列大于 ‘2’会得到什么样的结果呢
select chrfrom chars c where chr > 2;
大家是不是觉得应该选取出比 2 大的 3、10、11 和 222 这 4 条记录呢下面就让我们来看看该 SELECT 语句的执行结果吧。
没想到吧是不是觉得 10 和 11 比 2 大所以也应该选取出来呢
大家之所以这样想是因为混淆了数字和字符串也就是说 2 和 ‘2’ 并不一样。

