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,否则直接赋空值。
PostgreSQL在Update时使用Substring函数截取字符串并且加上CASE WHEN THEN条件判断的更多相关文章
- 【转载】Sqlserver使用SUBSTRING函数截取字符串
在SQL语句查询过程中,Sqlserver支持使用LEFT().RIGHT().SUBSTRING()等几个函数对字符串进行截取操作,SubString函数相对于其他两个函数来说更灵活,使用场景更多, ...
- 【转载】C#中string类使用Substring方法截取字符串
在C#的字符串操作过程中,截取字符串是一种常见的字符串操作,可使用string类的Substring方法来完成字符串的截取操作,该方法支持设定截取的开始位置以及截取的字符串长度等参数,Substrin ...
- java用substring函数截取string中一段字符串
在String中有两个substring()函数,如下: 一:String.substring(int start) 参数: start:要截取位置的索引 返回: 从start开始到结束的字符串 例如 ...
- mysql substring函数截取值后赋给一个declare变量
今天写的一个mysql存储过程涉及到对一个传入参数的字符串截取,然后需要判断截取字符串进行一系列操作,最开始用select subtring() into 这样的方法将截取值赋于declare变量直 ...
- Hive substr 函数截取字符串
开发中,经常进行模糊查询或者进行截取字符串进行模糊匹配,常用的就是substr函数或者substring函数. 使用语法: substr(string A, int start),substring( ...
- mysql日期格式转换,如何保持原日期?CONVERT/Substring 函数截取。replace替换
http://www.cnblogs.com/stevenjson/p/3729577.html CONVERT(varchar(100), getdate(), 112)这种, 问题就出在getda ...
- mysql substring()函数,字符串分割
mysql> select * from test; +----+------------+-------+-----------+ | id | name | score | subject ...
- 深入SQL截取字符串(substring与patindex)的详解
首先学习两个函数1.substring 返回字符.binary.text 或 image 表达式的一部分.基本语法:SUBSTRING ( expression , start , length ) ...
- mysql中locate和substring函数使用
locate函数使用 LOCATE(substr,str) 1.如果子串 substr 在 str 中不存在,返回值为 0: 2.如果子串 substr 在 str 中存在,返回该字符串第一次出现的位 ...
随机推荐
- Laravel 添加路由文件
在laravel 5.4中的routes文件夹里面默认有两个路由文件web.php和api.php. 新建路由文件 我们在routes文件夹下多创建一个admin.php文件作为管理后台的路由 修改R ...
- 自己手写一个queuelink
代码如下: <?php class QueueLink { private $first_key=0;//最前面的那个元素的键 private $first_value=0;//最前面的那个元素 ...
- sublime 安装ctags跳转以及跳转快捷键
在source insight中有一个很好用的功能,就是函数的跟踪跳转,在阅读别人的代码的时候轻松的浏览原函数.我们知道,在使用vim的时候有个插件叫ctags,同理,在sublime text中也能 ...
- Android学习:ActionBar活动条
菜单定义: <?xml version="1.0" encoding="utf-8"?> <menu xmlns:android=" ...
- cmd返回上一级和根目录
https://jingyan.baidu.com/article/066074d6154cf4c3c21cb013.html
- 哈密顿绕行世界问题 (dfs)
一个规则的实心十二面体,它的 20个顶点标出世界著名的20个城市,你从一个城市出发经过每个城市刚好一次后回到出发的城市. Input前20行的第i行有3个数,表示与第i个城市相邻的3个城市.第20行 ...
- ajax-addclass
- thinkphp 在本地正常,在云端ubuntu下报控制器不存在
thinkphp 在本地正常,在云端ubuntu下报控制器不存在的错 ubuntu是严格区分大小写的,本地的服务器可能对大小写要求没有那么严格, thinkphp的控制器的文件夹默认是小写字母,如果你 ...
- hive reduce 阶段GC Exception
某个reduce中的value堆积的对象过多,导致jvm频繁GC. 解决办法: 1. 增加reduce个数,set mapred.reduce.tasks=300,. 2. 在hive-site.xm ...
- Java基础&面向对象(二)
(七)函数 1.数的定义:具有特定功能的一段小程序,也称为方法: 2.函数的特点: 3.函数的应用:结果.是否需要未知内容参与运算: 4.函数的重载:在同一个类中,允许存在一个以上的同名函数,只要它们 ...