Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » SQL Server »

[SOLUCIONADO] Integer como String

Estas en el tema de Integer como String en el foro de SQL Server en Foros del Web. Hola: Estoy utilizando el driver SQLSRV para ejecutar consultas en PHP. Encontré la opción ReturnDatesAsStrings para que los resultados que contienen fechas las reciba como ...
  #1 (permalink)  
Antiguo 15/12/2016, 16:03
 
Fecha de Ingreso: octubre-2006
Mensajes: 266
Antigüedad: 11 años
Puntos: 6
Pregunta Integer como String

Hola:

Estoy utilizando el driver SQLSRV para ejecutar consultas en PHP. Encontré la opción ReturnDatesAsStrings para que los resultados que contienen fechas las reciba como string. Me parece una genial opción para poder manipular libremente la información de los campos de fecha.

¿Existe alguna opción similar para los resultados de tipo número? Es decir, que cada resultado de tipo número lo reciba como string.

Sé que hay varios métodos para aplicar en las consultas como el uso del CAST mientras realizo el query, o ya en el mismo código PHP, aplicar la conversión. Pero antes de tener de recurrir a ello, quisiera saber si existe una forma directa para que devuelva el servidor de base de datos todo siempre en string.

Muchas gracias.
  #2 (permalink)  
Antiguo 15/12/2016, 21:41
Avatar de petit89  
Fecha de Ingreso: marzo-2011
Mensajes: 860
Antigüedad: 6 años, 7 meses
Puntos: 125
Respuesta: Integer como String

Teniendo el campo donde lo almacenas como texto y no como entero, float, etc...
__________________
█ WebHosting / Reseller a bajo costo | Uptime Garantizado | Soporte en Español e Ingles
¿Te sirvió la respuesta? Deja un +1 (Triangulo negro al lado derecho)
  #3 (permalink)  
Antiguo 16/12/2016, 05:34
 
Fecha de Ingreso: octubre-2006
Mensajes: 266
Antigüedad: 11 años
Puntos: 6
Respuesta: Integer como String

Mmm... No me parece una idea eficiente, sobre todo porque para alcanzar la longitud de 1 integer que utiliza 8 bytes se tenga que utilizar más que eso en su lugar. Es peor, a mi parecer, que tener que utilizar CAST en cada consulta.

Gracias de todos modos.
  #4 (permalink)  
Antiguo 16/12/2016, 07:17
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.087
Antigüedad: 11 años, 2 meses
Puntos: 723
Respuesta: Integer como String

Pues tampoco es una idea muy eficiente de tu lado el configurar el servidor para que todo lo devuelva como string, de ser asi que caso tiene que tengas tipos de datos numericos, fecha etc????

Ademas si te diste cuenta ReturnDatesAsStrings es una funcion de PHP no es nativa de SQL Server, asi que no te queda de otra mas que hagas tu mismo la funcion o uses para cada conversion ya sea desde sql el cast, convert o desde php hagas tus conversiones.

otra cosa, la longitud de un campo entero es para almacenar el rango de valores admitidos por sql server -2^31 (-2,147,483,648) to 2^31-1 (2,147,483,647) no tanto que sea la longitud de tu cadena.

P.D: No le encuentro sentido a que quieras regresar todos los valores como string, pero que mas se puede esperar de los developers ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #5 (permalink)  
Antiguo 16/12/2016, 08:36
 
Fecha de Ingreso: octubre-2006
Mensajes: 266
Antigüedad: 11 años
Puntos: 6
Respuesta: Integer como String

Hola, gracias por la respuesta. Desconocía eso que ReturnDateAsString era algo propio de PHP, lo sospechaba pero no estaba seguro.

El motivo por el cual necesito que todo esté en string es por la versión de Angular que se está utilizando. Anteriormente estaba trabajando con ODBC y todo lo que conseguía de la base de datos siempre estaba en string, supongo que era su configuración por defecto. Por ende se desarrollaron funciones para el manejo de fechas y números basados en cadenas. Sé que no es lo más eficiente, pero nos encontramos con casos en los que es mejor el manejo de un sólo tipo de datos en la vista y las cadenas encajan perfecto en todo tipo de navegadores. No descartamos la posibilidad de cambiarlo pero por el momento no urge.

Y con referencia a lo de valores numéricos, me refería a que si requiero guardar el valor -2147483648, por ejemplo, necesitaría que mi campo string tenga 11 bytes (13 internos) versus los 4 bytes que requiere un campo como int. Por ello no me parecía buena idea que todas mis tablas incrementaran su tamaño.

Gracias por la respuesta, pero compañero, no siempre es bueno subestimar, todos vamos aprendiendo y estamos para dar la mano. Recuerda que en algún momento fuiste inexperto en tu materia.

Saludos.
  #6 (permalink)  
Antiguo 16/12/2016, 08:55
Avatar de Libras
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: En la hermosa perla de occidente
Mensajes: 7.087
Antigüedad: 11 años, 2 meses
Puntos: 723
Respuesta: Integer como String

Cita:
Iniciado por metalfox6383 Ver Mensaje
Gracias por la respuesta, pero compañero, no siempre es bueno subestimar, todos vamos aprendiendo y estamos para dar la mano. Recuerda que en algún momento fuiste inexperto en tu materia.

Saludos.
No subestimo mi estimado, como dices tambien en su momento fui inexperto, y solo fue un comentario "chusco" disculpa si te ofendi, y sobre lo que mencionas de que todo lo ocupas en cadenas, ya pensaste en utilizar vistas? esto para que todos tus datos los conviertas desde la base de datos y asi estos te lleguen como los necesitas ;)
__________________
What does an execution plan say to t-sql query? Go f**k yourself, if you are not happy with me
  #7 (permalink)  
Antiguo 16/12/2016, 09:06
 
Fecha de Ingreso: octubre-2006
Mensajes: 266
Antigüedad: 11 años
Puntos: 6
Respuesta: Integer como String

Hola.

Exacto, utilizo vistas y hago las consultas hacia ellas... sólo que me he topado con el inconveniente de tener que crear una vista cada vez que creo una tabla. El uso de las vistas es un gran atajo, salvo en este pequeño caso de tener que crearlas hasta por lo mínimo.

En fin, utilizar una función en PHP es lo más tentativo para mi caso. Muchas gracias por el apoyo. Disculpa aceptada desde luego.

Saludos.

Etiquetas: integer, query, string
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:12.