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 中存在,返回该字符串第一次出现的位 ...
随机推荐
- Zend Optimizer,Zend Guard Loader 和 Zend Opcache 三者之间的区别
PHP的加速插件有三个:Zend Optimizer.Zend Guard Loader 和 Zend Opcache.但其实都是一个,针对不通的php版本.名字叫法不一样而已. Zend Optim ...
- SpringBoot------自定义Logback日志
帮助文档: https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#boot-featur ...
- Oracle 11gR2(11.2.0.4)安装包(7个)作用说明
在之前使用Oracle10G的时候,官网下载的数据库安装包只有两个文件,解压合并后为完整的安装包. 后来因为检查出多个Oracle漏洞,需要现场Oracle数据库版本需要升级到11.2.0.4,下载的 ...
- login流程
DirServer增加,修改-后台网页操作 维护所有分区的当前信息创建,修改,上报分区信息分区:状态,版本号,注册量等 一.loginserver定时从dir同步所有区服的信息 登陆相关 1.CmdI ...
- Ubuntu 14.04 LTS 系统空间不足,输入密码后,无法进入桌面的解决办法
问题场景:系统空间不足,在没有清理空间的情况下,重启机器,可能会出现,输入密码后,无法进入桌面的现象. 如何解决? 解决方法:以访客身份登录系统,可以看到你的ip地址,然后以ssh的方式登录你的主机, ...
- java项目(学习和研究)
java项目就是研究,不断的对项目进行迭代,把产品做的越来越好,就是research. 自己想着做一个java项目把,可以类似牛客网,想好自己的预期产品,在设计的过程中可以不断改进和扩展,在做这个项目 ...
- UnicodeEncodeError: 'latin-1' codec can't encode characters in position 41-50: ordinal not in range(256)
在处理标题或网址为中文的文件或网页的时候,报UnicodeEncodeError: 'latin-1' codec can't encode characters in position 41-50: ...
- poj2251_kuagnbin带你飞专题一
Dungeon Master Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 32684 Accepted: 12529 ...
- 微信小程序本地的域名“不在以下request合法域名列表中”错误处理方法
- C语言函数strstr
函数原型: extern char *strstr(char *str1, const char *str2); 语法: * strstr(str1,str2) 参数: str1: 被查找目标 ...