SQL Server: No regresa el texto completo en las celdas con valores tipo texto, modificar php.ini

Siguiendo con el tema del truncado de caracteres en SQL desde nuestra aplicación de PHP del post anterior, resulta que la solución también se puede hacer con el comando SQL.

SET TEXTSIZE NUMERO_CARACTERES_A_OBTENER

Pero igual si queremos algo más permanente, solo es cosa de modificar nuestro archivo PHP.ini, las lineas donde tengamos:

; Valid range 0 – 2147483647. Default = 4096.
;mssql.textlimit = 4096

; Valid range 0 – 2147483647. Default = 4096.
;mssql.textsize = 4096

Por lo general están comentadas estas lineas, solo es cosa de descomentarlas y poner el valor que deseemos, reiniciamos apache y listo 🙂

SQL Server: No regresa el texto completo en las celdas con valores tipo texto

Si tienes un campo de tipo texto, ya sea cualquiera de los siguientes tipos de datos:

  • varchar(max)
  • nvarchar(max)
  • varbinary(max)
  • text
  • ntext
  • image

Y cuando realizas tu select, no te regresa la información completa, entonces lo que debes de hacer es incrementar el limite de la variable textsize.

Para saber cual es el límite actual solo ejecuta el siguiente comando:

SELECT @@TEXTSIZE

Casi por default te dará un valor de 2147483647 (caracteres)

Y entonces la solución antes de ejecutar tu consulta SELECT, debes de iniciar con la siguiente consulta SQL.

SET TEXTSIZE NUMERO_CARACTERES_A_OBTENER

Digamos que deseas obtener unos 200 caracteres, entonces ejecutas SET TEXTSIZE 200 ,seguido de tu sentencia SQL del SELECT.