FECHA y FECHA y HORA

Las fechas y horas son tipos de datos extremadamente frustrantes y SQL no hace que sea más fácil trabajar con ellos que con otros lenguajes. Si bien la fecha y la hora son tipos de datos completamente diferentes, a menudo se combinan en un tipo de datos datetime. Las fechas y horas de SQL por sí solas son bastante simples, aunque requieren un formato especial. Sin embargo, fusionar los dos puede ser una de las tareas más dolorosas que enfrentará en sus primeros años. Una buena regla general es usar una hora y una fecha juntos solo cuando sea absolutamente necesario o lo necesite en el futuro. Explicaré por qué las fechas y los horarios complican las cosas en un minuto. Primero, veamos qué tan fácil es la vida cuando simplemente trabajas con citas.

Trabajar Con Fechas SQL

Nuestra Tabla de «Usuarios»:

id username first last member_since
1 ohBillNotAgain Hillary Clinton 2011-12-25
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas George Bush 2011-7-9

Let’s try to get all of our members before December 25, 2011.

Ejemplo

SELECT *FROM UsersWHERE member_since < '2011-12-25'

Resultado

id nombre de usuario primera última member_since
2 internetCreator Al Gore 2011-12-8
3 dontMessWithTexas Jorge Bush 2011-7-9

Bien, nos dijo que ANTES del 25 de diciembre de 2011, lo que significa pobre Hillary no se incluye porque es en ese día. Al apenas hizo el corte, pero el viejo George estaba mucho antes de nuestra fecha límite. Supongo que deberíamos hablar de lo sucedido. Hasta DONDE member_since < ‘2011-12-25’, sabemos lo que estábamos haciendo. Probablemente podríamos adivinar lo que está pasando aquí, pero venceré al caballo muerto. Comprobamos nuestra columna member_since para ver si es menor que, <, nuestra fecha, que se escribió entre comillas simples como ‘2011-12-25’. A menudo, cuando buscas ayuda en Google con fechas, ves esta sintaxis referida como ‘AAAA-MM-DD’, donde Y es para año, M es para mes y D es para día, obviamente. Cada repetición es un símbolo de un espacio de caracteres en blanco para ese elemento. Por lo tanto, solo quieres 2 dígitos para el mes porque eso tiene sentido, y tal vez no te importan los primeros 2 caracteres del año. En su lugar, solo escribe, YY para obtener 11. Bastante fácil, en las maravillosas Horas de datos

Usando la HORA de DATOS en SQL

Nuestra Nueva Tabla de «Usuarios» :

id username first last last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25
3 dontMessWithTexas George Bush 2011-12-24 16:24:17

Ahora, intentamos obtener a todos nuestros miembros que iniciaron sesión antes de la 1:00 p. m.del 24 de diciembre de 2011.

Ejemplo

SELECT * FROM UsersWHERE last_login < '2011-12-24 13:00:00'

Resultado

id nombre de usuario primera última last_login
1 ohBillNotAgain Hillary Clinton 2011-12-24 12:59:15
2 internetCreator Al Gore 2011-12-24 11:53:25

Pobre George… Bien, exactamente la misma sintaxis que una con excepción hemos sustituido el nombre de la columna y se utiliza un DATETIME string con el que comparar. El tipo de datos DATETIME contiene todos los mismos elementos que el tipo de datos DATE más una cadena de tiempo. Comúnmente referenciado como ‘AAAA-MM-DD HH: MM: SS’ De nuevo, entre comillas simples y con un espacio que separa la cadena de fecha de la cadena de tiempo, creamos nuestra cadena de FECHA para la comparación. Hillary y Al hacen el corte porque se conectaron antes del 24-12-2011 13:00:00 ‘ cortar la FECHA Y HORA. Es mucho más fácil aquí de lo que parece en la práctica. Eso es porque ponemos la cadena DATETIME a mano. SQL tiene algunas funciones de FECHA con las que puede jugar, que puede reemplazar nuestra cadena con:

Funciones importantes de fecha SQL

Nota: Las funciones de fecha SQL difieren mucho entre las versiones de SQL. Estos son MySQL.

  • CURDATE() – obtiene la fecha actual
  • CURTIME() – obtiene la hora actual
  • NOW () – obtiene tanto la fecha como la hora (en formato DATETIME)

Si no está utilizando MySQL, considere cambiar. Es broma, pero no te preocupes, una simple consulta de Google te ayudará a encontrar las funciones SQL adecuadas para tu base de datos SQL.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *