在sql中选择一部分字符串并使用它来更新列

时间:2013-02-20 12:08:58

标签: mysql

我有三张桌子

products->(id, number, public, custom, etc)
references->(id,ref,product_id,price_id)
product_descriptions->(id,product_id,description,summary)

我需要使用表product_descriptions中的字符串描述的一部分来填充表引用中列ref的值,这是否可能?

如何从表的一列中选择字符串的特定部分并转换为int并存储在不同表的列中?

我正在使用MySQL

1 个答案:

答案 0 :(得分:0)

对于Transact-SQL(SQL Server,SYBASE ASE,ASA,IQ),您可以尝试这样做。

假设product_description的前4个字符(从0位开始,长度为4个字符)是您希望存储在references.ref列中的INTEGER值。在T-SQL中尝试类似的东西

UPDATE references SET ref = CAST(SUBSTRING(t2.description,0,4) AS INTEGER)
FROM references AS t1 
INNER JOIN product_descriptions AS t2 
ON t1.product_id = t2.product_id