如何在SQL中找到与字符串开头匹配的记录?

时间:2019-12-02 14:03:34

标签: sql sql-server string

我有一个像这样的前缀表:

 Primary Key | Value

      1      | 0012
      2      | 0013
      3      | 0014
      4      | 0015

想知道如何编写一个查询,该查询将返回我通过的代码前缀的主键。

例如,如果我具有值00135648954,我想将其传递给查询以返回2,因为001356489540013开头。

我尝试编写一些LIKE查询,但没有成功。

我调查了一个CONTAIN查询,该查询由于表没有全文索引而无法运行(同样,我对CONTAINS也没有任何经验,所以我不想尝试太多) / p>

2 个答案:

答案 0 :(得分:3)

只需使用like

select primary_key
from mytable 
where @myval like concat(value, '%')

@myval代表您要为其获取主键的值。

如果您希望某些内容为null安全(即,如果@myval为null则不匹配),则可以使用+作为串联运算符:

select primary_key
from mytable 
where @myval like value + '%'

答案 1 :(得分:0)

select id
from your_table
where @parameter like value + '%'