UPDATE tablename SET PARENTID=(
case
WHEN LENGTH(column1)/2=1 then '0'
when LENGTH(column2)/2=2 then substr(column1,1,2)
when LENGTH(column3)/2=3 then substr(column2,1,4)
when LENGTH(column4)/2=4 then substr(column3,1,6)
end
)
select
userid,
substr(userid,
instr(',' || userid || ',', ',', 1, n),
instr(',' || userid || ',', ',', 1, n + 1) -
instr(',' || userid || ',', ',', 1, n) - 1) aa
from xt_jbpm_dbsxb, (select level n from dual connect by level <= 10) x
where substr(userid,
instr(',' || userid || ',', ',', 1, n),
instr(',' || userid || ',', ',', 1, n + 1) -
instr(',' || userid || ',', ',', 1, n) - 1) is not null
and id=77823
order by n
分享到:
相关推荐
- 每个`CASE WHEN`子句都会检查`bbb`列是否等于指定的字符串,如果匹配,则返回相应的`aaa`值;如果不匹配,则返回`NULL`。 ##### 2.2 方法二:使用PIVOT函数 对于字段数量较多的情况,使用`PIVOT`函数会更加方便...
除了上述两种基本的行列转换外,还有其他几种转换类型,包括多列到字符串、多行到字符串、字符串到多列以及字符串到多行的转换。这些转换通常涉及对数据进行重新组织或重组,以便于后续的处理或展示。 - **多列转换...
例如,如果表`Tb_Student`的Subject列有多种科目,我们可以创建一个动态SQL字符串并执行它: ```sql declare @sql varchar(8000); set @sql = 'select sname as ' + '姓名'; select @sql = @sql + ' , max(case ...
- 遍历字符串:利用数据库函数逐个处理字符串中的字符。 - 字符串文字中包含引号:使用转义字符处理引号。 - 计算字符在字符串中出现的次数:使用LENGTH和SUBSTRING函数。 - 从字符串中删除不需要的字符:使用...
以下示例创建了一个名为`GET_C2`的函数,该函数接收`C1`的值,然后返回所有与该`C1`值关联的`C2`值的字符串。另一种方法是使用分析函数`LEAD`和`CONNECT_BY`,通过递归连接来实现列转行。 ```sql -- PL/SQL 方法 ...