一个字段是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搞定 如何?
谢谢
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搞定 如何?
谢谢
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)="\""
什么意思?
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";}}取出上面的结果的也
“
您运行的 SQL 语句已经成功运行了。 (查询花费 0.0103 秒)”未显示出结果
只是text类型的数值 这样可以显示出来么?
mysql text的我这边测试显示不出来结果~
这些 是小于255的
[color=#FF0000]mysql> SELECT * FROM TT;
+-------------------------------------------------------------------------------
------------------------------+------------+
| ss
| DD |
+-------------------------------------------------------------------------------
------------------------------+------------+
| 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";}} | 2147483647 |
+-------------------------------------------------------------------------------
------------------------------+------------+
1 row in set (0.02 sec)mysql> SELECT *,LEFT(b1,INSTR(b1,';')-1) FROM (
-> SELECT *,SUBSTRING_INDEX(
-> SUBSTRING_INDEX(a1.ss,':',b.id),':',-1) AS b1 FROM TT a1 LEFT JOIN zz.lsb
1 b
-> ON (LENGTH(a1.ss)-LENGTH(REPLACE(a1.Ss,':','')))+1>=b.id) a3
-> WHERE LEFT(b1,1)="\"";
+-------------------------------------------------------------------------------
------------------------------+------------+------+------------------+----------
----------------+
| ss
| DD | id | b1 | LEFT(b1,I
NSTR(b1,';')-1) |
+-------------------------------------------------------------------------------
------------------------------+------------+------+------------------+----------
----------------+
| 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";}} | 2147483647 | 5 | "userfield";a | "userfiel
d" |
| 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";}} | 2147483647 | 9 | "realname";s | "realname
" |
| 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";}} | 2147483647 | 11 | "Jack";s | "Jack"
|
| 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";}} | 2147483647 | 13 | "gender";s | "gender"
|
| 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";}} | 2147483647 | 15 | "1";s | "1"
|
| 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";}} | 2147483647 | 17 | "mobile";s | "mobile"
|
| 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";}} | 2147483647 | 19 | "18655667722";}} | "18655667
722" |
+-------------------------------------------------------------------------------
------------------------------+------------+------+------------------+----------
----------------+
7 rows in set (0.00 sec)mysql>[/color]
但仍然非常感谢哈
HOHO