如何检查SQL Insert语句中字段的子字符串?

时间:2012-09-05 20:00:22

标签: sql

我需要帮助尝试根据序列号匹配执行Insert语句。表“EDI40025.Bundle_Serial_Num”中的字段长度为20个字符,“SerialNumber.Text”为6个字符。我可以以某种方式获取Bundle_Serial_Num的子字符串,以便我只检查6个字符,以便它匹配文本字段?

例如,我的Bundle_Serial_Num"UNS40000000000447022",而SerialNumber.Text为"447022"。我想将Bundle_Serial_Num的最后6个与文本字段中的6进行比较。

string sql = @"INSERT INTO EDI40021 (Vendor_Order, BOL_Num, Cust_Part_Num)  
             WHERE (EDI40025.Bundle_Serial_Num = '" + SerialNumber.Text + "')";  

谢谢。

1 个答案:

答案 0 :(得分:0)

使用RIGHT功能获取序列号的最后六个字符。

WHERE (RIGHT(EDI40025.Bundle_Serial_Num, 6) = '" + SerialNumber.Text + "')"; 

但是,如果可能的话,您很可能希望将查询重新编写为参数化查询,因为您当前容易受到SQL注入攻击。

此外,您的查询看起来不太合适,因为您不是来自表EDI40025的SELECTING