
 ... entendí menos... Tienes ese dato en una BD y quieres sacar solo la primera parte para volver a insertarlo en una BD?? 
... primero... extrañamente a mí si me funciona en substr():
 Código PHP:
    <?php
$mostrar="123456789L - María López";
echo substr($mostrar, 0, 10);
?>    
  
.. segundo, quizá convenga mejor un explode():
 Código PHP:
    <?php
$mostrar="123456789L - María López";
$partes= explode("-", $mostrar);
echo $partes[0];
?>    
  ... pero.. si estás trabajando con Base de Datos... definitivamente sería mejor hacerlo desde allá:
Código:
 SELECT SUBSTR(campo, 0, 10) FROM tabla
  ó
Código:
 SELECT LEFT(campo, 10) FROM tabla
  (no estoy muy seguro de la primera query) entonces, si entendí bien, ya no tendrías que manejar otro campo...  
www.php.net/explode http://dev.mysql.com/doc/mysql/en/string-functions.html