Cambiar el tipo de un valor en Mysql

Las formas de cambiar el tipo de un valor o un campo en una consulta son las siguientes:

Operador BINARY

Transforma un texto a una cadena binaria.

Una cadena binaria contiene bytes en lugar de caracteres, lo que la hace case sensitive cuando se utiliza para una comparación. Adicionalmente los espacios al final se vuelven significativos.

mysql> SELECT 'Nombre' = 'nombre'; # retorna 1

mysql> SELECT BINARY 'Nombre' = 'nombre'; # retorna 0

Se puede aplicar CAST para obtener el mismo resultado

BINARY texto = CAST(texto AS BINARY)

Importante: Si la columna sobre la que se aplica BINARY está indexada, Mysql podría no utilizar el índice en esa consulta!

 

Funciones CONVERT y CAST

Convierten una expresión de un tipo en otro.

La forma de aplicarlas es la siguiente:

CAST(expresión AS tipo), CONVERT(expresión,tipo)

donde tipo puede ser:

  • BINARY[(N)]
    • El parámetro opcional (N) hace que no se usen más de N bytes en la conversión
      • Desde Mysql 5.0.7, los textos menores a N bytes son completados con bytes 0x00 hasta la longitud N.
  • CHAR[(N)]
    • El parámetro opcional (N) hace que no se usen más de N caracteres en la conversión
    • Trata la expresión como una cadena con el conjunto de caracteres por defecto.
  • DATE
  • DATETIME
  • DECIMAL[(M[,D])]
    • Disponible desde Mysql 5.0.8
  • SIGNED [INTEGER]
  • TIME
  • UNSIGNED [<ENTERO>]

mysql> SELECT CONVERT('2014-01-01',DATETIME); # retorna 2014-01-01 00:00:00

mysql> SELECT CAST('150 usuarios' AS UNSIGNED); # retorna 150

Tagged with: , , , , ,
Publicado en Aplicaciones
One comment on “Cambiar el tipo de un valor en Mysql
  1. […] también cómo cambiar el tipo de dato a un valor o a un campo, podemos notar que todas las expresiones son equivalentes cuando se utilizan en una […]

Los comentarios están cerrados.