Microsoft SQL之间的字符语句不包括在内?

Eli*_*seo 1 sql sql-server select

我正在尝试选择名字以字母ad开头的所有值,但是当我这样做时

select * from tblprofile where firstname between 'a' and 'd'
Run Code Online (Sandbox Code Playgroud)

我从a到c得到所有值,不包括d,我怎样才能确定它包含d?

Jak*_*rtz 7

它是包容性的.

你没有得到你想要的结果,因为任何以'd'开头且长于1个字符的字符串都大于'd'.例如'da' > 'd'.因此,您的查询将返回以"a","b","c"和值"d"开头的所有值.

获得您想要使用的结果

select * from tblprofile where firstname >= 'a' and firstname < 'e'
Run Code Online (Sandbox Code Playgroud)

  • 或者`from*from tblprofile,其中firstname如'[ad]%'`也可以做到这一点(如果OP是不区分大小写的排序规则) (3认同)