+ -
当前位置:首页 → 问答吧 → 一个简单的SQL

一个简单的SQL

时间:2011-07-26

来源:互联网

一个字段是text类型,值如下
a:1:{s:9:"userfield";a:3:{s:8:"realname";s:6:"Jack";s:6:"gender";s:1:"1";s:6:"mobile";s:11:"18655667722";}}
这样一个字符串
想要取到
userfield
realname
Jack
gender
1
mobile
18655667722
这些内容 一个SQL搞定 如何?
谢谢

作者: mgan   发布时间: 2011-07-26

LSB1,字段ID,内容1-10000

SELECT *,LEFT(b1,INSTR(b1,';')-1) FROM (
SELECT *,SUBSTRING_INDEX(
SUBSTRING_INDEX(a1.ss,':',b.id),':',-1) AS b1 FROM (SELECT 'a:1:{s:9:"userfield";a:3:{s:8:"realname";s:6:"Jack";s:6:"gender";s:1:"1";s:6:"mobile";s:11:"18655667722";}}' AS Ss FROM DUAL) a1 LEFT JOIN zz.lsb1 b
ON (LENGTH(a1.ss)-LENGTH(REPLACE(a1.Ss,':','')))+1>=b.id) a3
WHERE LEFT(b1,1)="\""

作者: wwwwb   发布时间: 2011-07-26

LSB1,字段ID,内容1-10000
 什么意思?

作者: mgan   发布时间: 2011-07-26

xml的不会搞

作者: rucypli   发布时间: 2011-07-26

a表有个b字段 字段类型是text的~

b的值的格式如:
a:1:{s:9:"userfield";a:3:{s:8:"realname";s:6:"Jack";s:6:"gender";s:1:"1";s:6:"mobile";s:11:"18655667722";}}

取出上面的结果的也

作者: mgan   发布时间: 2011-07-26

LSB1,字段ID,内容1-10000:表结构及内容

作者: wwwwb   发布时间: 2011-07-26

在PHPMYADMIN中 执行了 提示

您运行的 SQL 语句已经成功运行了。 (查询花费 0.0103 秒)”

未显示出结果

作者: mgan   发布时间: 2011-07-26

直接在MYSQL命令行下运行, SQL语句测试通过

作者: wwwwb   发布时间: 2011-07-26

语句没问题
只是text类型的数值 这样可以显示出来么?

作者: mgan   发布时间: 2011-07-26

可以测试一下,建议用代码在程序中分拆

作者: wwwwb   发布时间: 2011-07-26