如何在具有前缀的两个数字之间进行搜索?
How to search between two numbers that have a prefix?
我正在尝试在数据库中的两个号码之间进行搜索。问题是数字前面有一个前缀,即 LH123
我知道搜索我可以使用的号码:
and JobNo >= 38308 and JobNo <= 38337
但不确定当号码前面有前缀时如何搜索。我尝试使用 BETWEEN 但这不仅仅是 returning 我搜索的数字。这应该 return 10,但查询在到达 LH7010 时不会停止,并会一直持续到到达 LH700999。
and JobNo BETWEEN 'LH7000' and 'LH7010'
有没有一种方法可以使用 BETWEEN 只搜索那些确切的数字,或者有其他搜索方法吗?
如果前缀始终为 2 个字符,则提取整数部分并像这样比较整数:
and substr(jobno, 3) + 0 between substr('LH7000', 3) + 0 and substr('LH7010', 3) + 0
MySql 使用 ... + 0
将字符串隐式转换为整数
我正在尝试在数据库中的两个号码之间进行搜索。问题是数字前面有一个前缀,即 LH123
我知道搜索我可以使用的号码:
and JobNo >= 38308 and JobNo <= 38337
但不确定当号码前面有前缀时如何搜索。我尝试使用 BETWEEN 但这不仅仅是 returning 我搜索的数字。这应该 return 10,但查询在到达 LH7010 时不会停止,并会一直持续到到达 LH700999。
and JobNo BETWEEN 'LH7000' and 'LH7010'
有没有一种方法可以使用 BETWEEN 只搜索那些确切的数字,或者有其他搜索方法吗?
如果前缀始终为 2 个字符,则提取整数部分并像这样比较整数:
and substr(jobno, 3) + 0 between substr('LH7000', 3) + 0 and substr('LH7010', 3) + 0
MySql 使用 ... + 0