SQL BETWEEN for text vs numeric values
如果我是正确的,则是否排除了范围的端点是特定于DBMS的。
我在以下内容中无法理解的内容:
如果我有一个值表,请执行以下查询:
该查询作为结果行返回,包括卡路里= 33和卡路里= 135(即包括范围端点)。
但是,如果我这样做:
我没有以
为了使查询按预期工作,我输入:
我的问题是为什么数字和文本数据的
Between和数字和字符串的操作方式完全相同。包括两个端点。这是ANSI标准的一部分,因此这是所有SQL方言的工作方式。
表达方式:
当num为135时将匹配。当number为135.00001时将不匹配。
同样,表达式:
将匹配" O",但不匹配以" O"开头的任何其他字符串。
一旦简单的合并就是使用"?"。它具有最大的7位ASCII值,因此对于英语应用程序,通常可以很好地工作:
您还可以做其他各种事情。这里有两个想法:
不过,重要的一点是
以"橙色"与" O"为例。字符串" Orange"显然不等于字符串" O",并且随着它的变长,它必须大于或小于。
您可以执行'Orange'<'OZZZZZZZZZZZZZZZZ'。
尝试使用
这会给您以G开头的所有food_name,直到以O开头的所有
此处演示