让我明白我的问题。 我在数据库中有一些类似下面的模式字符串,
0070m6nkfszczw8zzgswgzz8wzgz0
0070m6nkfszczw8zzgswgzz8wzgz3
0070m6nkfszczw8zzgswgzz8wzgza
0070m6nkfszczw8zzgswgzz8wzgzb
0070m6nkfszczw8zzgswgzz8wzgzc
0070m6nkfszczw8zzgswgzz8wzgzd
0070m6nkfszczw8zzgswgzz8wzgzf
0070m6nkfszczw8zzgswgzz8wzgzg
输入字符串:
0070m6nkfszczw8zzgswgzz8wzgze
它不在数据库中,但我只想在将其插入数据库后找到近记录
问题是 :
我可以在数据库中存储订单的字符串吗?
我怎样才能得到最接近的?
for:0070m6nkfszczw8zzgswgzz8wzgze
前一个是:
0070m6nkfszczw8zzgswgzz8wzgzd
接下来是:
0070m6nkfszczw8zzgswgzz8wzgzf
谢谢
答案 0 :(得分:1)
所以你在按字母顺序思考。然后得到最大值,该值小于或等于你的值,最小值大于或等于你的值。
select min(string)
from mytable
where string >= @mystring
union
select max(string)
from mytable
where string <= @mystring;
这将找到您要查找的值。如果它不存在,它会给你邻居,如果有的话。 (如果您不想获得完全匹配,请将<=
更改为<
,将>=
更改为>
,将union
更改为union all
。)