我有以下内容:
id | value
1 | abc:432:xyz
2 | 678:123:iop
并喜欢得到:
id | valueA | valueB | valueC
1 | abc | 432 | xyz
2 | 678 | 123 | iop
这可以通过sql查询吗?谢谢!
可以使用 sql 查询:
SELECT id,SUBSTRING_INDEX(`value`, ':', 1) AS valueA ,
SUBSTRING_INDEX(SUBSTRING_INDEX(value,':',2),':',-1) AS valueB , SUBSTRING_INDEX(SUBSTRING_INDEX(value,':',-2),':',-1) AS valueC
FROM tablename;
一种方法是在阅读查询结果后将它们分开!
询问:
$this->db->query("select id, value from tablename");
PHP中的示例(可以是任何东西):
foreach($resultRecord as $record){
$segment = explode(":",$record->value);
echo "<tr>";
echo "<td>".$record->id;
for($i=0;$i<count($segment);i++){
echo "<td>".$segment[i];
}
}
SELECT id,
SUBSTRING_INDEX(`value`, ':', 1) as valueA,
SUBSTRING(`value`,5,3) as valueB,
SUBSTRING(`value`,9) as valueC
FROM Table_name
使用上面的查询。
用这个
创建表 test2 作为 SELECT id,substr(value,1,3) as valueA,substr(value,5,3) as valueB,substr(value,9,3) as valueC FROMtest