MySQL - insertar dos valores juntos de tipo TIME

 
Vista:
Imágen de perfil de Francisco
Val: 3
Ha disminuido su posición en 17 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

insertar dos valores juntos de tipo TIME

Publicado por Francisco (3 intervenciones) el 23/09/2018 06:17:20
Buenas, cuando probe el mysql work bench, está el TIME. Este tiene los paréntesis. El número dentro del paréntesis será la cantidad de valores que puedo poner del tipo TIME?, por ej. si en mi tabla dice TIME(2) puedo poner dos valores de tipo TIME a la hora de insertar el registro?, por ej. TIME(2), entonces. INSERT... VALUES('18:00:00';'05:00:00'), ayudenme por favor.

¿Es posible para un campo de tipo TIME insertar más de un valor de tipo TIME para ese campo de tipo TIME en mysql?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.090
Oro
Ha aumentado su posición en 2 puestos en MySQL (en relación al último mes)
Gráfica de MySQL

insertar dos valores juntos de tipo TIME

Publicado por Leonardo Josué (414 intervenciones) el 24/09/2018 16:28:23
Hola Francisco:

1
2
está el TIME. Este tiene los paréntesis. El número dentro del paréntesis será la cantidad de valores que
puedo poner del tipo TIME?

el valor que se especifica dentro de los paréntesis en un campo tipo TIME, corresponde a la precisión que quieres guardar en tu campo fecha. Veamos un ejemplo para ver si queda claro:

Creamos una tabla con distintos valores en la precisión:

1
2
3
4
5
6
7
mysql> create table tabla (
    ->   campo_time time,
    ->   campo_time_2 time(2),
    ->   campo_time_4 time(4),
    ->   campo_time_6 time(6)
    -> );
Query OK, 0 rows affected (0.23 sec)

Entonces, si metemos el mismo valor en los cuatro campos, observa cómo se almacenan los valores:

1
2
3
4
5
6
7
8
9
10
mysql> insert into tabla values (curtime(), curtime(), curtime(), curtime());
Query OK, 1 row affected (0.08 sec)
 
mysql> select * from tabla;
+------------+--------------+---------------+-----------------+
| campo_time | campo_time_2 | campo_time_4  | campo_time_6    |
+------------+--------------+---------------+-----------------+
| 09:20:55   | 09:20:55.00  | 09:20:55.0000 | 09:20:55.000000 |
+------------+--------------+---------------+-----------------+
1 row in set (0.00 sec)

es decir, el numero en el paréntesis corresponde al número de "decimales" después de los segundos. En este caso, como la función CURTIME regresa sólo segundos, entonces MySQL asigna por defecto ceros. Observa ahora qué pasa si se le envía valores con fracciones de segundo:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
mysql> insert into tabla values (
    ->   '09:24:10.123456',
    ->   '09:24:10.123456',
    ->   '09:24:10.123456',
    ->   '09:24:10.123456'
    -> );
Query OK, 1 row affected (0.04 sec)
 
mysql> select * from tabla;
+------------+--------------+---------------+-----------------+
| campo_time | campo_time_2 | campo_time_4  | campo_time_6    |
+------------+--------------+---------------+-----------------+
| 09:20:55   | 09:20:55.00  | 09:20:55.0000 | 09:20:55.000000 |
| 09:24:10   | 09:24:10.12  | 09:24:10.1235 | 09:24:10.123456 |
+------------+--------------+---------------+-----------------+
3 rows in set (0.00 sec)

¿Se entiende?

1
2
puedo poner dos valores de tipo TIME a la hora de insertar el registro?, por ej. TIME(2), entonces.
INSERT... VALUES('18:00:00';'05:00:00'), ayudenme por favor


No, si quieres tener dos valores de time, entonces declaras dos campos tipo time.

Saludos
Leo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar