我有返回MYSQL选择之间“”多值
a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}
一个专栏中,我想只返回:
Properties, Movable Assets
如何使用SELECT语句检索值在“符号之间
我有返回MYSQL选择之间“”多值
a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}
一个专栏中,我想只返回:
Properties, Movable Assets
如何使用SELECT语句检索值在“符号之间
使用SUBSTRING_INDEX()
。
SUBSTRING_INDEX()
需要一个字符串参数,后跟一个分隔符以及要返回的零件数量。在使用分隔符分割字符串之后,该部分数量将作为单个字符串返回。
select concat(
SUBSTRING_INDEX(
SUBSTRING_INDEX(
SUBSTRING_INDEX(
'a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}',
'"',
4
),
'"',
2
),
'"',
-1
),
",",
SUBSTRING_INDEX(
SUBSTRING_INDEX(
SUBSTRING_INDEX(
'a:2:{i:0;s:10:"Properties";i:1;s:14:"Movable Assets";}',
'"',
4
),
'"',
4
),
'"',
-1
)
);
谢谢,这只是工作,但我仍然有一个问题,对不起,我没有在原来的问题中提到它。还有条目“物业”和单独的“可动资产”。在使用上述答案时,这些答案将作为“属性,属性”和“可移动资产,可移动资产”返回。有没有解决的办法?我在此之前使用了一个case语句,但我无法过滤它。我试着添加一个AND entry_id ='Properties',然后entry_value else,对于'Movable Assets'也是一样,但是它们一直返回重复的结果 – 2014-10-30 09:45:24
这里是CASE语句: MAX(field_id = 79 then case select select concat( SUBSTRING_INDEX SUBSTRING_INDEX( SUBSTRING_INDEX( entry_value, ' “',4 ) '”',2 ) '“', -1 ) ”,“, SUBSTRING_INDEX( SUBSTRING_INDEX ( SUBSTRING_INDEX( entry_value, ' “',4 ) '”',4 ) '“', -1 ) )) 端)作为InterestedIn, – 2014-10-30 09:47:18
查看新问题HTTP ://堆栈溢出。COM /问题/ 26650251/MySQL的选择用字合带的标志 - 中之列的,杂乱的文字 – 2014-10-30 10:15:56
的LOCATE()
和SUBSTRING()
合用。
定义:https://dev.mysql.com/doc/refman/5.0/en/string-functions.html
或更好 - 迁移数据实际上是可检索的。
这将是相当困难的考虑的事实,格局可能不会在所有情况下相同。而在MySQL中,没有这样的爆炸功能来完成这项工作。最简单的事情就是使用应用程序层来处理这个问题。 – 2014-10-29 07:39:26
我无法使用应用程序层,这是使用WordPress插件,它只接受SQL来输出报告 – 2014-10-30 09:55:47