There's 2 ways to do it. If the text is really long, it might be more efficient to chop it down from the SQL query itself. You can use the LEFT Function in MySQL. For example...
SELECT LEFT(`text`,100) FROM news...
...will return on the leftmost 100 characters. If the number of chars is less than 100, all the chars are returned.
The second way involves grabbing all the chars (like you are doing it now--by the way, I suggest you just query the columns you need rather than using ) and then just making use of the substr function in PHP. For example...
<?php
mysql_connect("localhost", "user", "pass");
mysql_select_db("my_db");
$result = mysql_query("SELECT * FROM news ORDER BY RAND() LIMIT 0, 1");
while ($rows = mysql_fetch_array($result))
{
echo substr($rows['text'],0,100);
}
?>