【发布时间】:2021-02-18 16:09:09
【问题描述】:
DROP TABLE IF EXISTS #test
CREATE TABLE #test
(
line VARCHAR(500)
)
INSERT INTO #test (line)
VALUES ('1194125598,,191,3.95,194.95,Loan Payment,999999999,2779,"Melinda","Meeken",99999999,"m_welborn@yahoo.com , smeeken@gmail.com",10/28/2020 11:13')
SELECT
line,
REPLACE(line,'%"%,%"%', '%"%|%"%')
FROM #test t
我有来自字符串的供应商信息,我正在尝试更新#line 以删除两封电子邮件之间的逗号 (,)。有人有什么建议吗?
所需输出:'1194125598,,191,3.95,194.95,Loan Payment,999999999,2779,"Melinda","Meeken",99999999,"m_welborn@yahoo.com smeeken@gmail.com",10/28/2020 11:13'
【问题讨论】:
-
“试图删除”并没有明确定义您的目标是什么。您是否尝试更新此专栏的内容?如果是这样,更新后的值应该是多少?如果不是,你的“下架”最终结果应该是什么?
-
编辑了问题。但尝试更新#Line 以删除两封电子邮件之间的多余逗号。
-
我仍然不知道你想要什么。您能否展示您想要的输出,您想要发生但没有发生的事情?你知道 SQL 不支持正则表达式吗?为什么还要将所有数据放在一列中?
-
逗号两边总是有空格吗?也许你可以逃脱
REPLACE(line,' , ', '') -
@codeulike tbh 我不确定空格的一致性,因为我从供应商那里接收信息,解析字符串数据并分离每个字段以便稍后用作动态插入到表中跨度>
标签: sql sql-server string-matching