如何逐个字符地从MySQL数据库中提取文本?

时间:2011-02-19 17:35:48

标签: php mysql

我需要从MySQL数据库中按顺序提取字符到所需的数字(不是一次存储为长文本或文本的整个文本)。我正在使用PHP。我该怎么办呢?

4 个答案:

答案 0 :(得分:1)

只需使用SUBSTRING即可。

SELECT SUBSTRING(column,80) as string FROM TABLE
  

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substr

答案 1 :(得分:0)

您应该使用SQL函数Substring。该链接有很多关于如何做的例子。您只需调用SQL查询就像在PHP中的任何其他查询一样。

答案 2 :(得分:0)

您可以使用SUBSTRING或SUBSTR方法(它们是相同的)。

mysql> SELECT SUBSTRING('Quadratically',5);
        -> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
        -> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
        -> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);
        -> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
        -> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
        -> 'ki'

答案 3 :(得分:0)

http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_substr

mysql> SELECT SUBSTRING('Quadratically',5);
        -> 'ratically'
mysql> SELECT SUBSTRING('foobarbar' FROM 4);
        -> 'barbar'
mysql> SELECT SUBSTRING('Quadratically',5,6);
        -> 'ratica'
mysql> SELECT SUBSTRING('Sakila', -3);
        -> 'ila'
mysql> SELECT SUBSTRING('Sakila', -5, 3);
        -> 'aki'
mysql> SELECT SUBSTRING('Sakila' FROM -4 FOR 2);
        -> 'ki'


<?php
$con = mysql_connect("localhost","peter","abc123");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db("my_db", $con);

// select first 5 characters from full_name column in table Persons
$result = mysql_query("SELECT SUBSTRING(full_name, 1, 5) AS partialName FROM Persons");

while($row = mysql_fetch_array($result))
  {
  echo $row['partialName'];
  echo "<br />";
  }

mysql_close($con);
?>