Mysql 缺失数据之间的SQL

Mysql 缺失数据之间的SQL,mysql,sql,csv,Mysql,Sql,Csv,示例数据: SELECT Field1 FROM Table WHERE Field1 BETWEEN "A%" AND "D%" 查询结果不会包含“D”行,有什么想法如何处理吗?(我需要对文本而不是数字进行操作)。省去通配符,然后尝试: A432434324324 B435435435 C5654664546 D5465465546546 A768677687 B8768678768 A65446456546 B876867877868 “%”通配符用于与类似的,而不用于其他字符串

示例数据:

 SELECT Field1
 FROM Table
 WHERE Field1 BETWEEN "A%" AND  "D%"

查询结果不会包含“D”行,有什么想法如何处理吗?(我需要对文本而不是数字进行操作)。

省去通配符,然后尝试:

A432434324324
B435435435
C5654664546
D5465465546546
A768677687
B8768678768
A65446456546
B876867877868
“%”
通配符用于与
类似的
,而不用于其他字符串比较

注二:

  • 第一个版本更好,因为它允许MySQL在
    Field1
    上使用索引
  • 对字符串和日期常量使用单引号;这是所有数据库的通用语法

不能在“中间”函数中使用通配符。通过查询,您可以获得A和%号以及D和%号之间的所有值。其中%符号在数字之前。

在搜索中使用通配符。在这里,RDBMS将把它们作为文本。 因此,您可以获取所有以a开头的行,它们的第二个字符的值高于“%”的值,并且获取所有到“D”的行,它们的第二个字符的值低于“%”

试一试 在“A”和“DZZZ”之间
或者类似的东西。

@Harry:你读了问题没有读到代码吗?@Harry:因为MySQL也是SQL,所以它都被标记了。我读过,简单的复制粘贴错误@juergendDoes
BETWEEN
在这些字符串上运行
like
操作符?我想知道这些百分比符号是不是文字?如果是这样的话,正则表达式子句在这里可能很好。但是你不会在c代码上标记vb,是吗@尤尔根德
WHERE Field1 >= 'A' AND Field1 < 'E'
WHERE LEFT(Field1, 1) BETWEEN 'A' and 'D'