id name courses
1 小明 44,55,66
2 小红 11
3 小紫 22,44
course表
id name
11 数学
22 语文
66 英语
44 体育
55 美术
查询sql
select a.*,to_char(wm_concat(b.name)) from student a,course b  where instr(b.id, a.courses ) > 0
student表的courses字段,存着course的id,现在需要学生的所有课程用字符串的形式查出student表idnamecourses1小明    44,55,662小红113小紫22,44course表idname11数学22语文66英语44体育55美术查询sqlselect a.*,to_char(wm_concat(b.name)) from student a,course b ... SELECT DISTINCT T.NAME, REPLACE(REGEXP_SUBSTR(T.TESTSTR, '[^,]+', 1, LEVEL), ',', ' ') TESTSTR FROM TEST2 T WHERE 1 = 1 CONNECT BY LEVEL <= (LENGTH(T.TESTSTR) - LENGTH(REPLACE(T.TESTSTR, ',', '')) + 1); -- Create table TEST2 create 参数3:起始位置,从第几个字符开始正则表达式匹配(默认为1) 参数4:标识第几个匹配组,默认为1 参数5:模式('i'不区分大小写进行检索;'c'区分大小写进行检索。默认为'c'。) SELECT REGEXP_SUBSTR('34,56,-23', '[^,]+', 1, LEVEL
Oracle 中,我们可以使用SUBSTR和INSTR函数来分割一个视图的 字符串 ,使其分散在多行中显示。 首先,我们可以使用SUBSTR函数来截取 字符串 中的部分字符。该函数的格式为:SUBSTR( 字符串 , 起始位置, 长度)。起始位置是从1开始计算的。 接下来,我们可以使用INSTR函数来定位一个字符在 字符串 中的位置。该函数的格式为:INSTR( 字符串 , 被定位的字符, 起始位置)。起始位置同样是从1开始计算的。 考虑以下的例子: 假设我们有一个视图名为"employees_view",其中的字段"employee_name"包含了多个员工名字,这些名字被 逗号 分隔 开。 我们可以使用以下语句来创建一个新的视图,将"employee_name"字段分割成多行: CREATE VIEW employees_view_multiline AS SELECT SUBSTR(employee_name, 1, INSTR(employee_name, ',')-1) AS name FROM employees_view UNION ALL SELECT SUBSTR(employee_name, INSTR(employee_name, ',')+1) AS name FROM employees_view WHERE INSTR(employee_name, ',', 1, 1) > 0; 在这个例子中,我们首先从"employee_name"字段中找到第一个 逗号 的位置,然后使用SUBSTR函数将其之前的字符截取成为一行。然后,我们再次使用INSTR函数找到第二个 逗号 的位置,将其之后的字符截取成为另一行。我们使用UNION ALL将这两个查询结果合并成为一个视图。 通过这种方式,我们可以实现将一个字段的 字符串 分割成多行显示的效果。
Unable to get VFS File object for filename 'file:///': Unknown scheme "sftp" in URI "{1}". Unable to get VFS File object for filename 'file:///': Unknown scheme "sftp" in URI "{1}". Dr_Mnka: jsch-0.1.46怎么使用,能详细说一下嘛,我是java向carte中发送job任务时出现的这样的错误, Unable to get VFS File object for filename '//CESHI.ktr' : Could not find file with URI "\\CESHI.ktr" because it is a relative path, and no base URI was provided. CESHI.ktr是我job中需要执行的一个转换,报找不到路径