[PostgreSQL]在Update时使用Substring函数截取字符串并且加上CASE WHEN THEN条件判断
--更新 UPDATE wp_order_detail SET layout_type = ( SELECT CASE WHEN CHAR_LENGTH (cs.size_code) >= 6 THEN SUBSTRING (cs.size_code FROM 1 FOR 3) ELSE '' END FROM wp_catalog_size cs WHERE cs.size_code LIKE '%' || wp_order_detail.size_code LIMIT 1 ); --查询 SELECT detail.ID, detail.size_code, ( SELECT cs.size_code FROM wp_catalog_size cs WHERE cs.size_code LIKE '%' || detail.size_code LIMIT 1 ) AS size_code_2, detail.layout_type FROM wp_order_detail detail;
大体意思就是用wp_order_detail表的size_code模糊匹配wp_catalog_size表的size_code。
匹配到后,判断是否大于等于6位,如果时6位,截取前3位,赋值给layout_type,否则直接赋空值。
作者:VAllen
出处:http://www.cnblogs.com/vallen
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
唯有偏执者得以生存。
出处:http://www.cnblogs.com/vallen
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
唯有偏执者得以生存。