将引号之间的逗号替换为空格

2024-01-24

您好,我的表中每一行都有如下数据:

0150566115,"HEALTH 401K","IC,ON","ICON HEALTH 401K",,,1,08/21/2014

我想要的是删除双引号“”之间的每个逗号(,)。然后用逗号(,)分割字符串的其余部分

我不想检查双引号的开始和结束的每个字符设置标志。

我可以实现某种正则表达式吗?

有简单的方法吗?

到目前为止我所尝试的只是在逗号(,)的基础上分割字符串,但它适用于单双引号块。

    Declare @Query nvarchar(max) 

    Set @Query= 'Item1,Item2,"Item,Demo,3",New'

    Declare @start int, @len int
    SELECT @start = PATINDEX('%"%"%', @Query)+1

    print @start

    select @len=CHARINDEX('"', SUBSTRING(@Query, @start, LEN(@Query)))-1

    select 
        SUBSTRING(@Query, 1, @start - 2) +
        REPLACE((SUBSTRING(@Query, @start, @len)), ',', '') +
        SUBSTRING(@Query, @start + @len + 1, LEN(@Query))

请尝试以下操作:

DECLARE @str nvarchar(max) = '0150566115,"HEALTH 401K","IC,ON","ICON HEALTH 401K",,,1,08/21/2014'
SELECT
  SUBSTRING(@str, 1, CHARINDEX('"', @str, 1) - 1)
  + REPLACE(REPLACE(REPLACE(REPLACE(SUBSTRING(@str, CHARINDEX('"', @str, 1), LEN(@str) - CHARINDEX('"', REVERSE(@str), 1) - CHARINDEX('"', @str, 1) + 2), ',', ' ' + CHAR(7) + ' '), CHAR(7) + ' ', ''), '" "', ','), '"', '')
  + REVERSE(SUBSTRING(REVERSE(@str), 1, CHARINDEX('"', REVERSE(@str), 1) - 1))


--Explaination
--Extracting the portion of the string before the first occurrence of '"'.
DECLARE @part1 nvarchar(max) = SUBSTRING(@str, 1, CHARINDEX('"', @str, 1) - 1)
SELECT
  @part1

--String between first and last occurrence of '"' and removing unwanted characters.
DECLARE @part2 nvarchar(max) = SUBSTRING(@str, CHARINDEX('"', @str, 1), LEN(@str) - CHARINDEX('"', REVERSE(@str), 1) - CHARINDEX('"', @str, 1) + 2)
SET @part2 = REPLACE(REPLACE(REPLACE(REPLACE(@part2, ',', ' ' + CHAR(7) + ' '), CHAR(7) + ' ', ''), '" "', ','), '"', '')
SELECT
  @part2

--String after the last occurrence of '"'
DECLARE @part3 nvarchar(max) = REVERSE(SUBSTRING(REVERSE(@str), 1, CHARINDEX('"', REVERSE(@str), 1) - 1))
SELECT
  @part3

--Concatenation
SELECT
  @part1 + @part2 + @part3

HTH!!!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

将引号之间的逗号替换为空格 的相关文章

  • RANK() OVER PARTITION 并重置 RANK

    如何获得在分区更改时重新启动的 RANK 我有这张表 ID Date Value 1 2015 01 01 1 2 2015 01 02 1
  • 将数据从电子表格迁移到 RDBMS 的策略是什么?

    这与我的另一个问题相关何时从电子表格迁移到 RDBMS https stackoverflow com questions 2395607 when to switch from spreadsheet to rdbms 决定从 Excel
  • 如何在 PostgreSQL 中使用条件和子查询创建唯一索引?

    我使用 PGSQL 并尝试添加下面的索引 CREATE UNIQUE INDEX fk client ON user client fk client WHERE fk client NOT IN SELECT fk client FROM
  • 创建日期范围表

    我正在编写一份需要显示每天值的报告 我有查询的开始日期和结束日期 但我希望避免丢失日期 以防表不包含特定日期的值 我正在考虑创建一个基本日期范围表 其中包含开始和结束之间的所有日期 然后将其与数据表左连接以显示每一天的值 我找到了一些适用于
  • MYSQL 的 Google OAuth 2.0 用户 ID 数据类型

    我正在实施 Google OAuth 2 0 并注意到 Google OAuth 返回的唯一用户 ID 是21位数字长的 我想大整数 20 足以满足这种需求 但我现在看到 Google OAuth 返回的用户 ID 的长度感到困惑 关于我应
  • 让 Hibernate 和 SQL Server 与 VARCHAR 和 NVARCHAR 良好配合

    我目前正在大型数据库的某些表中启用 UTF 8 字符 这些表已经是 MS SQL 类型 NVARCHAR 此外 我还有几个使用 VARCHAR 的字段 Hibernate 与 JDBC 驱动程序的交互存在一个众所周知的问题 例如 参见在 h
  • MySQL LIKE %string% 不够宽容。我还有什么可以用的吗?

    我有一位客户询问他们的搜索是否可以搜索公司名称 这些名称可以根据用户输入以多种格式进行搜索 例如数据库中存储的公司是 A J R Kelly Ltd 如果用户搜索 一个 J R Kelly 被发现 使用
  • PostgreSQL 在递归查询中找到所有可能的组合(排列)

    输入是一个长度为 n 的数组 我需要生成数组元素的所有可能组合 包括输入数组中元素较少的所有组合 IN j A B C OUT k A AB AC ABC ACB B BA BC BAC BCA 随着重复 所以AB BA 我尝试过这样的事情
  • 私人聊天系统MYSQL查询显示发送者/接收者的最后一条消息

    在这里我延伸一下我之前的问题 私人聊天系统MYSQL查询ORDERBY和GROUPBY https stackoverflow com questions 10929366 private chat system mysql query o
  • SQL Server 抱怨无效的 json

    我正在使用 Azure 数据工厂和 Azure SQL 数据库编写 ETL 工具 数据工厂捕获映射数据流的输出并将其作为字符串插入到 SQL Server 表 Audit OperationsEventLog 的 StatusMessage
  • 删除表的重复项

    In my activity logs 它包含列 material name user id mod result 这标志着测试是否通过 失败 cert links 不知何故 用户生成了两倍的条目material name与cert lin
  • 如何在文件系统中存储图像

    目前 我已将图像 最大 6MB 作为 BLOB 存储在 InnoDB 表中 随着数据大小的增长 夜间备份变得越来越慢 阻碍了正常性能 因此 二进制数据需要进入文件系统 指向文件的指针将保存在数据库中 数据具有树状关系 main site u
  • ASP SQL Server 连接

  • 在 Mysql 上使用 EntityManager JPA 运行脚本

    我正在尝试运行脚本 sql 文件 但由于我尝试了多种方法 因此出现多个错误 这是我的主要 sql 脚本 INSERT INTO Unity VALUES 11 paq 0 2013 04 15 11 41 37 Admin Paquete
  • 如何连续添加起始行和下一行的值

    我只想创建一个 sql 查询 结果就像图片上的那样 类似于 SQL 中的斐波那契数列 Ex Column 1 10 则 Result 列的值为 Result 10 因为这是第一行 然后假设column1第二行的值为50 那么Result第二
  • sqlite3从打印数据中删除括号

    我创建了一个脚本 用于查找数据库第一行中的最后一个值 import sqlite3 global SerialNum conn sqlite3 connect MyFirstDB db conn text factory str c con
  • C# using 语句、SQL 和 SqlConnection

    使用 using 语句 C SQL 可以吗 private static void CreateCommand string queryString string connectionString using SqlConnection c
  • 标量子查询包含多行

    我正在使用 H2 数据库并想要移动一些数据 为此 我创建了以下查询 UPDATE CUSTOMER SET EMAIL SELECT service EMAIL FROM CUSTOMER SERVICE AS service INNER
  • 如何为SQL Server 2005实例中的所有数据库创建DDL触发器

    我将为 SQL Server 实例中的所有数据库创建一个 DDL 触发器 我想在一次运行中完成此操作 而不是为每个数据库运行多次 下面是我需要执行的两个 T SQL 语句 Create table use
  • 分组和切换列和行

    我不知道这是否会被正式称为枢轴 但我想要的结果是这样的 Alex Charley Liza 213 345 1 23 111 5 42 52 2 323 5 23 1 324 5 我的输入数据采用这种形式 Apt Name

随机推荐

  • 静态只读字段初始值设定项与静态构造函数初始化

    以下是初始化静态只读字段的两种不同方法 这两种方法有区别吗 如果是 什么时候应该优先选择其中一个 class A private static readonly string connectionString WebConfiguratio
  • JPA。 JoinTable 和两个 JoinColumn

    我需要创建表 PORTATION MODEL SET 我需要从表 portation 创建两个密钥 从表phone model 创建一个密钥 我有代码 Entity Table name PORTATION SecondaryTable n
  • 为什么 Android Lint 在显式使用 Locale.US 时会警告 String.format 使用默认区域设置?

    我最初打电话String format这边走 return String format s f f anotherString doubleA doubleB 这使得 Android Lint 生成此警告 隐式使用默认区域设置是错误的常见来
  • 在 MongoDB 中,如何索引数组中的嵌入对象字段?

    多键的 mongodb 文档给出了查询数组中嵌入对象字段的示例 http www mongodb org display DOCS Multikeys http www mongodb org display DOCS Multikeys
  • 可垂直滚动的 GroupBox

    我正在使用创建一个应用程序Windows 申请表 我基本上是 C 和 Visual Studio 的新手 从昨天开始就一直在使用它 到目前为止 我已经成功创建了一个简单的表单 如屏幕截图所示 My Form 背景 细节 我正在使用框中提供的
  • 通过NotificationListenerService读取Google地图通知

    是否可以读取用户移动时定期显示的 Google 地图导航通知 例如 定期更新距下一回合的剩余距离 我尝试使用NotificationListenerService来实现此目的 但是当我尝试使用getNotifications getExtr
  • 使用react.js 在单页应用程序中导航

    我正在使用 React 和 Backbone 构建一个单页面应用程序 并试图找出处理应用程序中内容之间导航的最佳实践 我的应用程序将有一个侧边栏 其中包含链接 例如 照片 和 设置 侧边栏始终存在 因此单击 设置 后 我希望在不重新加载整个
  • TemporaryKey.pfx 出现问题 我没有密码

    我的一个客户有一个问题 他有一位 Microsoft CRM 开发人员 但他离开了 现在该项目仍未完成 我已经下载了自定义应用程序的源代码 并且我不想继续开发 我尝试过 ClickOne 部署 它会弹出一个与 myapp Temporary
  • ASP.NET Identity 2.1 将 PK 更改为 int 错误

    我已经按照中所述更改了 PKhttp www asp net identity overview extensibility change primary key for users in aspnet identity http www
  • 如何标记扩展宏(local :dir )?

    我知道我的标题令人困惑 因为tokenize命令被指定为一个字符串 我有许多文件夹 其中包含大量 独立的 命名不当的 Excel 文件 其中大部分是从网站上抓取的 手动选择不方便 需要依赖Stata扩展宏功能local dir阅读它们 我的
  • 如何像 Pinterest/Evernote 一样从 UICollectionView 过渡到 UIViewController

    我有一个 UICollectionView 当选择一个项目时 我希望它能够全屏显示动画 因此它会从单元格大小过渡到全屏并成为 UIViewController Pinterest 和 Evernote 都有这种行为 点击单元格会将单元格转换
  • jQuery 性能 - 按数据属性还是按类选择?

    哪个更快 为什么 选择 div 满足插件需求 div data something or div something 我倾向于前者 因为它 更干净 基于这个问题 https stackoverflow com questions 61795
  • Jquery - event.target 和 this 关键字之间的区别?

    有什么区别event target and this 假设我有 test click function e thisEventOb e target this this alert thisEventObj alert this 我知道警报
  • 您可以将 HTML 图像标签的 src 属性设置为控制器方法吗?

    我知道你可以做到这一点 img src http some svg on the web 但是如果我有一个带有注释的控制器方法怎么办 ResponseBody RequestMapping value getSVG public Respo
  • pygtk导入gtk错误

    我下载了中描述的所有内容 pygtk http www pygtk org 用于安装 一切都很顺利 直到我尝试打字 import gtk 它抛出了一个ImportError如下 from gtk import gtk ImportError
  • 如果进程被终止,写入 write() 的数据是否会刷新到磁盘?

    我正在使用一个程序qdbm http sourceforge net projects qdbm 维护键值存储 qdbm 链接到程序中 在某些情况下 该进程会在 qdbm 数据库中放入一个值 然后通过调用外部 init 脚本 通过 syst
  • Phonegap垂直滚动

    我正在为 ios 构建一个phonegap 应用程序 并且遇到垂直滚动问题 即使没有任何内容 网络视图中似乎也会有一些像素滚动 这会影响我在 html 中内置的绝对定位的导航栏和选项卡栏 这是我的 html 页面 没有内容 但我仍然得到图像
  • Promise 重试,直到使用 Typescript 成功/失败

    我的移动应用程序会连续将多个文件上传到服务器 这些文件通常来自连接强度有问题的偏远地区 为此 我想尝试几次发送文件 我还想在失败时继续尝试下一个 导出结束时显示所有错误消息 即 已上传 10 个文件 3 个失败 但是 我无法弄清楚带有承诺的
  • 两行Xerces程序中的异常

    下面的代码给了我一个例外XMLFormatTarget行 但如果我更改字符串 C test xml to test xml 效果很好 test cpp Defines the entry point for the console appl
  • 将引号之间的逗号替换为空格

    您好 我的表中每一行都有如下数据 0150566115 HEALTH 401K IC ON ICON HEALTH 401K 1 08 21 2014 我想要的是删除双引号 之间的每个逗号 然后用逗号 分割字符串的其余部分 我不想检查双引号