Mysql Sql查询以获取文本类型中的一个实例
我有一个表,其中有一列类型为text,我将数据与逗号分隔的值放在一起Mysql Sql查询以获取文本类型中的一个实例,mysql,sql,Mysql,Sql,我有一个表,其中有一列类型为text,我将数据与逗号分隔的值放在一起 S.No Text 1 A,A,A,B,B,C,A 2 A,B,B,C,A 3 A,B,B,C,A 4 B,B,C,A 5 B,B,C 这是我需要更新文本的两列,以便它只包含一个时间 输出 S.No Text 1 B,B,C,A 2 B,B,C,A 3 B,B,C,A 4 B,B,C,A 5 B,B,C,A 在m
S.No Text
1 A,A,A,B,B,C,A
2 A,B,B,C,A
3 A,B,B,C,A
4 B,B,C,A
5 B,B,C
这是我需要更新文本的两列,以便它只包含一个时间
输出
S.No Text
1 B,B,C,A
2 B,B,C,A
3 B,B,C,A
4 B,B,C,A
5 B,B,C,A
在mysql中有这样做的方法吗
我试着用“替换”来做,但做不到。我想这就是你要找的
SELECT
No,
REPLACE(Text, 'A,', '') AS Text
FROM
your_table
编辑:
SELECT
TT.No,
CONCAT(REPLACE(REPLACE(TT.Text, 'A,', ''), ',A', ''),',A') AS Text
FROM
(
SELECT 1 AS No, 'A,A,A,B,B,C,A' AS Text FROM DUAL UNION
SELECT 2 AS No, 'A,B,B,C,A' AS Text FROM DUAL UNION
SELECT 3 AS No, 'A,B,B,C,A' AS Text FROM DUAL UNION
SELECT 4 AS No, 'B,B,C,A' AS Text FROM DUAL UNION
SELECT 5 AS No, 'B,B,C' AS Text FROM DUAL
) TT
请参见标准化。结果5看起来不正确我猜一个单元格必须包含一个
a
,看第五行,对吗?是的,每行必须包含一个“a”,所以基本上,你必须去掉所有的a,然后添加一个?我建议你提出你的问题,事实上,我们必须要求所有这些澄清,这意味着你的问题是不完整的。你也没有说任何关于字符顺序的东西(我想这是不相关的),你的样本表明B,B,C的模式总是存在的(我想也不是这样的)‘a’应该总是存在的,无论文本有没有。另外,如果文本是A、B、C,那么您所说的将不起作用。。。B,C。。这是错误的。它应该是A,B,C这是你说的是你想要的输出!,更新你的问题并澄清你想要得到的是什么啊,对不起,刚刚注意到你最后想要A,我会更新我的答案answer@SudhanshuGupta西西姆不厌其烦地更新了他的答案,现在请你不厌其烦地更新你的问题。