consulta mysql por fecha

Consultar hora y fecha de visualización

  1. SELECCIONE t1, t2 DESDE time_val;
  2. SELECCIONE dt DE datetime_val; s
  3. SELECCIONAR CURTIME (), CURTIME (2), CURTIME (6); (Mostrar hora y fecha en diferentes formatos)
  4. SELECT d, DATE_FORMAT (d, '% M% d,% Y') FROM date_val;
  5. SELECT d, DATE_FORMAT (d, '% M,% d,% Y') AS fecha FROM date_val;
    carácter de formato que significa
    % Y año, cuatro dígitos
    % y año, dos dígitos
    % M mes completo (enero, diciembre)
    % b mes, primeras tres letras (enero ... diciembre)
    % m mes dos dígitos (01..12)
    % c mes (1..12)
    % d mes número de días, dos dígitos (01.31)
    % e mes Días en (1..31)
    % W Día de la semana (domingo a sábado)
    % r Hora, formato de 12 horas, que termina en AM o PM
    % T hora, formato de 24 horas
    % H hora, dos dígitos (00-23)
    % i minutos, dos dígitos (00..59)
    % s segundos, dos dígitos (00.59)
    %% letras "%"
  6. SELECT dt, DATE_FORMAT (dt, '% c /% e /% y% r') AS format1, DATE_FORMAT (dt, '% M% e,% Y% T') AS format2 FROM datetime_val;
  7. SELECT dt, TIME_FORMAT (dt, '% r') AS '12 -horas ', TIME_FORMAT (dt,'% T ') AS '24 -horas' FROM datetime_val;

Obtener la fecha u hora actual

  1. SELECCIONAR CURDATE (), CURTIME (), NOW ();
  2. INSERTAR EN VALORES tsdemo (val) (5);
  3. INSERTAR EN tsdemo (val, ts_both, ts_create, ts_update) VALUES (10, NULL, NULL, NULL);
  4. SELECCIONE * DE tsdemo;
  5. SELECT dt, DATE (dt), TIME (dt) FROM datetime_val;
  6. SELECCIONE dt, AÑO (dt), DAYOFMONTH (dt), HOUR (dt), SECOND (dt) FROM datetime_val;
  7. SELECCIONE d, DAYOFYEAR (d) FROM date_val;
  8. SELECCIONE d, DAYNAME (d), LEFT (DAYNAME (d), 3) FROM date_val;
  9. SELECT dt, DATE_FORMAT (dt, '% Y') AS año, DATE_FORMAT (dt, '% d') AS día, TIME_FORMAT (dt, '% H') AS hora, TIME_FORMAT (dt, '% s') AS segundo FROM datetime_val;
  10. SELECT dt, DATE_FORMAT (dt, '% Y-% m-% d') AS 'parte de fecha', TIME_FORMAT (dt, '% T') AS 'parte de tiempo' FROM datetime_val;

Fecha sintética o valor de hora

  1. SELECCIONAR MAKETIME (0,30,58), MAKETIME (-5,0,11);
  2. SELECT d, DATE_FORMAT (d, '% Y-% m-01') FROM date_val;
  3. SELECCIONE t1, TIME_FORMAT (t1, '% H:% i: 00') FROM time_val;
  4. SELECCIONE d, CONCAT (AÑO (d), '-', MES (d), '- 01') DESDE date_val;
  5. SELECT d, CONCAT (AÑO (d), '-', LPAD (MES (d), 2, '0'), '- 01') FROM date_val;

Conversión entre valor de tiempo y unidad básica.

  1. SELECCIONE t1, TIME_TO_SEC (t1) COMO 'TIME a segundos', SEC_TO_TIME (TIME_TO_SEC (t1)) COMO 'TIME a segundos a TIME' FROM time_val;
  2. SELECCIONE t1, TIME_TO_SEC (t1) AS 'segundos', TIME_TO_SEC (t1) / 60 AS 'minutos', TIME_TO_SEC (t1) / (60 60) AS 'horas', TIME_TO_SEC (t1) / (24 60 * 60) AS ' días 'DESDE time_val;
  3. ELECT dt, TIME_TO_SEC (dt) AS 'parte de tiempo en segundos', SEC_TO_TIME (TIME_TO_SEC (dt)) AS 'parte de tiempo como TIME' FROM datetime_val;
  4. SELECCIONE d, TO_DAYS (d) COMO 'DATE to days', FROM_DAYS (TO_DAYS (d)) AS 'DATE to days to DATE' FROM date_val;
  5. SELECT dt, TO_DAYS (dt) 'parte de fecha en días', FROM_DAYS (TO_DAYS (dt)) COMO 'parte de fecha como DATE' FROM datetime_val;
  6. SELECT dt, UNIX_TIMESTAMP (dt) AS segundos, FROM_UNIXTIME (UNIX_TIMESTAMP (dt)) AS marca de tiempo FROM datetime_val;
  7. SELECT dt, UNIX_TIMESTAMP (dt) AS segundos, FROM_UNIXTIME (UNIX_TIMESTAMP (dt)) AS marca de tiempo FROM datetime_val;
  8. SELECCIONE DATEDIFF (@ d1, @ d2) AS 'd1 - @ d2', DATEDIFF (@ d2, @ d1) AS 'd2-d1';
  9. SELECCIONE TIMEDIFF (@ t1, @ t2) COMO 't1-t2', TIMEDIFF (@ t2, @ t1) COMO 't2-t1';

Hora, fecha de suma y resta

  1. SET @ t1 = '12: 00: 00 ', @ t2 = '15: 30: 00';
  2. SELECCIONA ADDTIME (@ t1, @ t2);
  3. SET @dt = '1984-03-01 12:00:00', @ t = '12: 00: 00 ';
  4. SELECCIONA ADDTIME (@ dt, @ t);
  5. SELECT CURDATE (), DATE_ADD (CURDATE (), INTERVAL 3 DAY);
  6. SELECT CURDATE (), DATE_ADD (CURDATE (), INTERVAL 1 WEEK);
  7. SELECCIONAR AHORA (), DATE_ADD (AHORA (), INTERVALO '3 4' DÍA_HORA);
  8. SELECCIONE la fecha @d AS, FROM_DAYS (TO_DAYS (@d) +7) AS 'date + 1 week', FROM_DAYS (TO_DAYS (@d) - 7) AS 'date -1 week';

Calcular edad

  1. SELECCIONAR * DE hermano;
  2. SELECCIONE nombre, nacimiento, CURDATE () COMO hoy, TIMESTAMPDIFF (AÑO, nacimiento, CURDATE ()) COMO 'edad en años', TIMESTAMPDIFF (MES, nacimiento, CURDATE ()) COMO 'edad en meses' DESDE hermano;
  3. SELECCIONE nombre, nacimiento, '1953-03-05' COMO 'Franz''nacimiento', TIMESTAMPDIFF (AÑO, nacimiento, '1953-03-05') COMO 'edad en años', TIMESTAMPDIFF (MES, nacimiento, '1953- 03-05 ') AS' edad en meses 'DE hermano DONDE nombre <>' Franz;

Consulta el primer día del mes, el último día o la cantidad de días del mes

  1. SELECCIONE d, DATE_SUB (d, INTERVAL DAYOFMONTH (d) -1 DAY) AS '1st of month' FROM date_val;
  2. SELECT d, LAST_DAY (d) AS 'last of month' FROM date_val;
  3. SELECT d, LAST_DAY (DATE_ADD (d, INTERVAL -1 MONTH)) COMO 'último del mes anterior', LAST_DAY (DATE_ADD (d, INTERVAL 1 MONTH)) COMO 'último del mes siguiente' FROM date_val;
  4. SELECCIONE d, DAYOFMONTH (LAST_DAY (d)) AS 'days in month' FROM date_val;

Calcular la fecha por sustitución de subcadena

  1. SELECT d, DATE_FORMAT (d, '% y-% m-01') COMO '1st of month A', CONCAT (YEAR (d), '-', LPAD (MONTH (d), 2, '0'), '-01') COMO '1 ° del mes B' DESDE date_val;
  2. SELECT CURDATE (), DATE_ADD (DATE_FORMAT (CURDATE (), '% Y-12-25'), INTERVAL 2 YEAR) AS 'Christmas A', DATE_FORMAT (DATE_ADD (CURDATE (), INTERVAL 2 YEAR), '% Y- 12-25 ') COMO' Navidad B ';

Calcular semana

  1. SELECCIONAR CURDATE (), DAYNAME (CURDATE ());
  2. SET @first = DATE_SUB (@ d, INTERVAL DAYOFMONTH (@d) -1 DAY);
    SELECCIONE @d AS 'fecha de inicio', @ primero como 'fecha del 1 ° mes', DAYNAME (@first) como 'día del 1 ° mes';
  3. SELECCIONE d, DAYNAME (d) AS day, DATE_ADD (d, INTERVAL 1-DAYOFWEEK (d) DAY) AS Sunday, DATE_ADD (d, INTERVAL 7 -DAYOFWEEK (d) DAY) AS Saturday FROM date_val;
  4. SET @ target = DATE_SUB (DATE_ADD (CURDATE (), INTERVAL 4-DAYOFWEEK (CURDATE ()) DAY), INTERVAL 14 DAY);
    SELECCIONAR CURDATE (), @ target, DAYNAME (@target);

Calcular Runnian

  1. SELECCIONE d, AÑO (d)% 4 = 0 COMO 'prueba de regla general', (AÑO (d)% 4 = 0) Y ((AÑO (d)% 100 <> 0) O (AÑO (d)% 400 = 0)) COMO 'prueba completa' DE date_val;
  2. SET @ d1 = '2014-04-13', @ d2 = '2016-04-13';
    SELECCIONE DAYOFYEAR (DATE_FORMAT (@ d1, '% Y-12-31')) AS 'days in 2014', DAYOFYEAR (DATE_FORMAT (@ d2, '% Y-12-31')) AS 'days in 2016';

Cadena de fecha en formato no ISO

  1. SELECCIONE d, CONCAT (AÑO (d), '-', MES (d), '- 01') DESDE date_val;
  2. SELECCIONE CONCAT (AÑO (d), '-') COMO 'no ISO', DATE_ADD (CONCAT (AÑO (d), '-', MES (d), '- 01'), INTERVALO 0 DÍA) COMO 'ISO 1 ', CONCAT (AÑO (d),' - ', MES (d),' - 01 ') + INTERVALO 0 DÍAS COMO' ISO 2 ', FROM_DAYS (TO_DAYS (CONCAT (AÑO (d),' - ', MES (d), '- 01'))) COMO 'ISO 3', STR_TO_DATE (CONCAT (AÑO (d), '-', MES (d), '- 01'), '% Y-% m-% d ') COMO' ISO 4 'DESDE date_val;

Consulta basada en características de tiempo

  1. SELECT d FROM date_val WHERE d <'1990-01-01';
  2. SELECCIONE d DE date_val DONDE d ENTRE '1990-01-01' Y '1999-12-31';
  3. SELECT d FROM date_val DONDE d> = DATE_SUB (CURDATE (), INTERVAL 20 YEAR);

Supongo que te gusta

Origin blog.51cto.com/14766077/2488362
Recomendado
Clasificación