`
vitojeng
  • 浏览: 20552 次
  • 性别: Icon_minigender_1
  • 来自: TW
社区版块
存档分类
最新评论

[SQL]一個簡單又複雜的 split string sql

阅读更多
為解決在 sql 中 split string 的需求, 找到了:
http://www.oracle.com/technology/oramag/code/tips2007/070907.html

SQL 是我最大的罩門, 只會最基本的 SQL statement, 尤其在用了 django 後, 根本連寫的機會都快沒了. 這一篇裡有很多函數根本沒聽過...看得辛苦.

Data prepare:
create table tab1 (owner number, cars varchar2(200));
insert into tab1 (
  select 1, 'Ford,Toyota,Nissan' from dual union all
  select 2, 'Lexus,Mercedes,BMW,Infiniti' from dual union all
  select 3, 'Ferrari' from dual union all
  select 4, 'Porsche,Lotus,Lamborghini,Maserati,Aston Martin' from dual union all
  select 5, 'Maybach,Bentley' from dual);


Split demo:
select owner, car
from
(
   select owner ,
        trim(substr(str, instr(str, ',', 1, level) + 1, instr(str, ',', 1, level + 1) - instr(str, ',', 1, level) - 1)) car ,
        level lv ,
        lag(level, 1, 0) over (partition by owner order by level) lg
   from
   (
      select owner, ','||cars||',' str from bda_din_tab1
   )
   connect by instr(str, ',', 1, level) > 0
)
where car is not null and lv != lg;
分享到:
评论

相关推荐

    SQL server中实现类似split功能的函数

    在SQL Server中,"split功能"通常指的是将一个字符串拆分成多个部分,这在处理以特定分隔符分隔的数据时非常有用。SQL Server并没有内置的`SPLIT`函数,但可以通过其他方式来实现这个功能。下面我们将详细介绍如何在...

    sqlserver 实现 行转列 split 分割的函数

    sqlserver 实现 行转列 split 分割的函数,具体使用方法写有在文件里。

    sql 分割字符串 dbo.Split('',',')

    将字符串按某个固定字符拆分成一个表结构(value,id) eg:1,2,3,3,4 拆分后: value id 1 1 2 2 3 3 3 4 4 5

    SQL Server 字符串截取功能创建(Split)

    SQLServer数据库中创建字符串截取功能(Split),调用方法: Split(string,str)

    An easy but effective way to split a string using Transact-SQL

    在SQL Server中,有时我们需要将一个字符串拆分成多个部分,这在处理以特定分隔符组织的数据时非常常见。在Transact-SQL中,虽然没有内置的函数直接支持字符串拆分,但我们可以通过一些技巧和自定义函数来实现这一...

    String.split()方法使用总结

    在Java编程语言中,`String.split()`方法是一个非常实用且强大的工具,用于将字符串分割成字符串数组,基于正则表达式或指定的分隔符。这个方法为处理文本数据提供了极大的灵活性,尤其在解析CSV文件、配置文件或者...

    SQL 语句 将一个表中用特殊字符分割的字段转换成多行数据.docx

    SQL 字符串分割函数实现多行数据转换 ...通过这个示例,我们可以看到,使用 `StringSplit` 函数可以轻松地将一个字段中的特殊字符分割的字符串转换成多行数据。这个函数可以广泛应用于各种数据库应用场景中。

    Sql Server数据库中自定义拆分字符串函数Split()

    Sql Server数据库中自定义拆分字符串函数Split()

    PB 9 执行 多行 SQL

    - 如果多行SQL涉及到数据库的原子性操作,如一组INSERT或UPDATE语句,可能需要在开始执行前开启一个事务,并在所有语句执行完毕后提交或回滚。使用`SQLCA.AutoCommit`属性可以控制事务的自动提交。 9. **示例代码*...

    Java防止SQL注入的几个途径

    Java 防止 SQL 注入是一个非常重要的安全问题。SQL 注入攻击是黑客最常用的攻击方式之一,它可以让攻击者访问或修改数据库中的敏感信息。因此,防止 SQL 注入是 Java 开发者必须注意的安全问题。 1.杜绝 SQL 拼接 ...

    C#执行sql文件 运行sql文件

    string[] sqlCommands = sqlScript.Split(new string[] { "\r\nGO\r\n" }, StringSplitOptions.None); ``` 4. **逐条执行SQL语句**:遍历命令数组,使用SqlCommand执行每个命令。 ```csharp foreach (string ...

    C# 执行SQL脚本

    ADO.NET是.NET Framework的一部分,提供了一组类库,允许C#应用程序连接到数据库并执行SQL命令。主要涉及的数据访问对象包括SqlConnection、SqlCommand、SqlDataAdapter和DataSet等。 2. **建立数据库连接**: ...

    SQLServer逗号分隔的字符串转换成表

    SQL Server 逗号分隔的字符串转换成表是指将一个逗号分隔的字符串转换成一个表结构,以便于进行查询、更新或者删除等操作。下面是将逗号分隔的字符串转换成表的步骤: 1. 创建一个临时表:首先,需要创建一个临时表...

    sqlserver的存储过程与 where in 多值参数

    你可以在存储过程中接收一个包含多个值的参数,如一个字符串,然后动态拼接`DELETE`或`SELECT`等SQL语句。例如: ```sql CREATE PROCEDURE usp/DeleteByIds (@idList VARCHAR(MAX)) AS BEGIN SET NOCOUNT ON; ...

    截取用,分割的字符串中的第n个字符串 SQL

    - **处理边界情况**:如果找不到更多的分隔符,则默认将`@location`设置为字符串的长度加1,以便正确截取出最后一个子字符串。 - **返回子字符串**:利用`SUBSTRING`函数根据`@start`和`@location`的值截取第n个子...

    SQL中实现SPLIT函数几种方法总结(必看篇)

    在SQL中,SPLIT函数通常用于将一个字符串按照指定的分隔符拆分成多个部分,以便于处理和分析。在不同的数据库系统中,实现SPLIT函数的方法有所不同。这里我们将总结几种在SQL中实现SPLIT函数的方法,特别是针对SQL ...

    字符串分割的字符串数量 SQL

    本文介绍的方法是通过创建一个SQL存储过程(或函数),该过程接受两个参数:一个是包含多个值的原始字符串,另一个是作为分隔符的字符。函数的核心逻辑是遍历整个字符串,并根据分隔符的位置来确定分割后的子字符串...

    解析 SQL 中的字符串.rar_SQL 解析_sql

    这些基本的字符串操作是SQL查询中不可或缺的部分,无论是在简单的数据检索还是复杂的业务逻辑处理中,都能发挥重要作用。理解并熟练运用这些函数和操作符,能够帮助我们更有效地处理和操作数据库中的文本数据。通过...

    SQL字符串分割

    下面展示的是一个名为`GF_StringSplit`的示例函数,该函数接受两个参数:一个是待分割的字符串`@str`,另一个是分隔符`@spliter`。函数通过循环遍历字符串,查找分隔符的位置,并使用`SUBSTRING`函数提取子字符串,...

    sqlserver实现字符拆解成表格的形式

    通过上述代码示例,我们可以看到在SQL Server中如何利用自定义函数将一个包含多个值的字符串拆分成多行记录,并存储在一个表格中。这种方法不仅可以提高数据处理效率,还能增强SQL查询的灵活性。在实际工作中,根据...

Global site tag (gtag.js) - Google Analytics