En cuanto a la división de períodos de tiempo en la base de datos (MYSQL), ¿cómo implementarla mediante programación?
Puedes mirar la función de hora
Suma y resta fecha y hora
(ADDDATE() y SUBDATE() son DATE_ADD() y DATE_SUB() Sinónimos de, también puede usar operadores y - en lugar de funciones
fecha es un valor DATETIME o DATE, expr es una expresión que suma y resta fecha. El tipo de cadena especifica cómo se debe interpretar la expresión expr.
[escriba el valor que significa el formato expr esperado]:
SEGUNDO segundos SEGUNDOS
MINUTO minutos MINUTOS
HORA hora HORAS
DÍA Días
MES Meses MESES
AÑO Años AÑOS
MINUTE_SECOND Minutos y segundos "MINUTOS:SECONDS"
HOUR_MINUTE horas y minutos "HORAS:MINUTOS"
DÍA_HORA días y horas "DÍAS HORAS"
AÑO_MES años y meses "AÑOS-MESES"
HORA_SEGUNDOS horas, Minutos, "HORAS:MINUTOS:SEGUNDOS"
DÍA_MINUTO días, horas, minutos"DÍAS HORAS:MINUTOS"
DÍA_SEGUNDOS Días, horas, minutos, segundos"DÍAS HORAS:MINUTOS:SEGUNDOS "
Se permite cualquier puntuación como delimitador en expr. Si todos son valores DATE, el resultado es un valor DATE; de lo contrario, el resultado es un valor DATETIME)
Si la palabra clave type está incompleta , Luego MySQL toma el valor del extremo derecho, DAY_SECOND es igual a MINUTE_SECOND debido a las horas y minutos que faltan)
Si aumenta MES, AÑO_MES o AÑO, y el número de días es mayor que el máximo número de días en el mes resultante, se utiliza el número máximo de días)
mysql > SELECT "1997-12-31 23:59:59" INTERVAL 1 SECOND
- > 1998-01-01 00:00:00
mysql> SELECCIONAR INTERVALO 1 DÍA "1997-12-31"
-> 1998-01-01
mysql> SELECCIONE "1998-01-01" - INTERVALO 1 SEGUNDO
-> 1997-12-31 23:59:59
mysql> SELECCIONE DATE_ADD(" 1997-12-31 23:59:59",INTERVALO 1 SEGUNDO);
-> 1998-01-01 00:00:00
mysql> SELECT DATE_ADD("1997 -12-31 23:59:59",INTERVALO 1 DÍA);
- > 1998-01-01 23:59:59
mysql> SELECT DATE_ADD("1997- 12-31 23:59:59",INTERVAL "1:1" MINUTE_SECOND);
-> 1998-01-01 00:01:00
mysql> SE
LECT DATE_SUB("1998-01-01 00:00:00",INTERVAL "1 1:1:1" DAY_SECOND);
-> 1997-12-30 22:58:59
mysql> SELECT DATE_ADD("1998-01-01 00:00:00", INTERVAL "-1 10" DAY_HOUR);
-> 1997-12-30 14:00:00
mysql> SELECT DATE_SUB("1998-01-02", INTERVAL 31 DAY);
-> 1997-12-02
mysql> SELECCIONE EXTRACTO; (AÑO DE "1999-07-02");
-> 1999
mysql> SELECCIONAR EXTRACTO (AÑO_MES DE "1999-07-02 01:02:03");
-> 199907
mysql> SELECCIONAR EXTRACTO(DAY_MINUTE FROM "1999-07-02 01:02:03");
-> 20102
mysql> SELECT EXTRACT(DAY_MINUTE FROM "1999-07-02 01:02:03"); p>
-> p>
TO_DAYS(fecha)
Devuelve el número de días desde 0 d.C. (sin contar los años anteriores a 1582)
mysql> select TO_DAYS(950501);
p>-> 728779
mysql> seleccione TO_DAYS('1997-10-07');
-> 729669
p>FROM_DAYS(N) ' 1997-10-07'
Este artículo proviene del blog de CSDN. Indique la fuente al reimprimir: blogs.com/zeroone/archive/2010/05/. 05/1727659.html