2012-09-05 30 views
0

我需要帮助,试图做一个基于序号匹配的插入语句。表“EDI40025.Bundle_Serial_Num”中的字段为20个字符长,而“SerialNumber.Text”为6个字符。我可以以某种方式获取Bundle_Serial_Num的子字符串,以便仅检查6个字符,以便它与文本字段匹配?如何检查SQL插入语句中字段的子字符串?

例如,我的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 + "')"; 

谢谢。

+0

您使用的是什么RDBMS? – Ghost

回答

0

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

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

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

此外,您的查询看起来不太正确,因为您不是表EDI40025中的SELECTING

+0

还有更多的SELECT语句,以及我只是没有包括它导致它不相关。我在桌子EDI40025上做了一个INNER JOIN。 – hmakled

+0

无论如何,谢谢你,这是我需要@LittleBobbyTables – hmakled

相关问题