大家好,我是最棒的瑶光!这是我第一次在CSDN写博客。以后可能也会没事写一些在工作中遇到的有常见性的问题的解决过程和解决方案。
今天在工作中遇到了这样一个问题:
我需要写一个SQL命令,来检测表中一个字段的结尾是否为'**'。若不以**结尾,就在其末尾追加**。
核心就是下面的这一串部分sql语句。
case when SUBSTRING(pcc.show_name, char_length(pcc.show_name)-1,2) = '**' then pcc.show_name else concat(pcc.show_name,'**') end
这个需求涉及到两个要点:
1. SQL如何截取varchar的一个片段:使用substring(str, start, length)或substr(str, start, length)函数。通常我们需要三个变量,第一个str是需要拆分的字段,第二个start是指起始的位置,第三个length是指截取多长。如select SUBSTR('我是最棒的瑶光', 3, 2) as result中,就是从第三个字('最')开始,截取两个长度,得到‘最棒’。