如何从扫描字段(640064016402(中获取子字符串并将其存储在变量中,然后在where子句中使用它?我正在尝试获取扫描字段列中具有该子字符串的所有唯一行。
表1
scanfields amount
/411500640036800 50.00
/411500640036800 50.00
/411500640136800 60.00
/411500640236800 70.00
从表1中选择disitct*,其中scanfields=变量位于此处
结果
scanfields amount
/411500640036800 50.00
/411500640136800 60.00
/411500640236800 70.00
select *
from [Table2]
where scanfields IN (SELECT substring(scanfields, 7,4) from [Table 1])
请注意,这往往会很慢。如果您有这样一个字段,其中您事先知道值的部分是不同的元素,那么会做得更好将元素拆分为表中的单独字段,这样您就可以对它们进行索引。否则,您可以设置一个Computed Column,它也可以被索引。