比较Oracle中查询语句中的字符串

时间:2013-08-13 02:31:53

标签: sql oracle sqlplus

我有这张桌子:

id         value
AA000001   500
AA000002   1000
AA000003   1500
AA000004   2000
AA000005   2500
AA000006   3000
AA000007   3500

id的类型是一个字符串,我使用下面的sql语句来查询我的记录:

SELECT sum(value), max(value), min(value) FROM my_table WHERE id BETWEEN 'AA000001' AND 'AA000007'

它按预期工作。但是我想知道这个查询中是否有例外?

我正在使用Oracle 10g第2版和第11版第2版。

感谢您的进步。

1 个答案:

答案 0 :(得分:2)

我不完全确定你的“例外”是什么意思。您的查询是:

SELECT sum(value), max(value), min(value)
FROM my_table
WHERE id BETWEEN 'AA000001' AND 'AA000007';

它将匹配这些值之间的任何内容。除了表格中的内容,它还会匹配,例如“AA000003ZYW243”。你很安全,所有比赛都将以'AA00000'开头。下一个字符将在'1'和'7'之间,然后任何东西都可以跟随(除非该字符是'7')。