Sql 不使用LIKE,通过字符串匹配查询表?

Sql 不使用LIKE,通过字符串匹配查询表?,sql,oracle,Sql,Oracle,如果一个表的名字以“N”开头,而姓氏以“K”开头,我怎么能不使用类似于的?呢 那怎么办 您可以尝试使用>和='N'和NAME和='N'和NAME

如果一个表的名字以“N”开头,而姓氏以“K”开头,我怎么能不使用类似于的

那怎么办


您可以尝试使用>和<运算符

e、 g:

其中NAME>='N'和NAME<'O'

但我不能保证你会收到你期望的每一封信(特别是带有重音字符的信,如果有的话)


Scal

您可以尝试使用>和<运算符

e、 g:

其中NAME>='N'和NAME<'O'

但我不能保证你会收到你期望的每一封信(特别是带有重音字符的信,如果有的话)


Scal

尝试以下操作:

SELECT * FROM mytable
WHERE SUBSTR(firstName, 1, 1) = 'N'
AND   SUBSTR(lastName,  1, 1) = 'K';

请尝试以下操作:

SELECT * FROM mytable
WHERE SUBSTR(firstName, 1, 1) = 'N'
AND   SUBSTR(lastName,  1, 1) = 'K';

为什么您不想像
那样使用
?这是唯一一种不会让代码的未来维护者混淆其含义的解决方案。@Rob,
like
是一种非常常见的语义,但将其称为唯一的语义可能会有很大的帮助。下面的子字符串和N&O之间的答案是完全可读和可维护的。为什么您不想像
那样使用
?这是唯一一种不会让代码的未来维护者混淆其含义的解决方案。@Rob,
like
是一种非常常见的语义,但将其称为唯一的语义可能会有很大的帮助。下面的子字符串和N&O之间的答案是完全可读和可维护的。