sql >> Databáze >  >> RDS >> Mysql

Mohu porovnat časové razítko MysQL se sloupci datetime? je to špatné?

Ano, můžete porovnat datetime s timestamp . Není to špatné, ale uvědomte si následující:

Z Referenční příručka MySQL ::Typy DATETIME, DATE a TIMESTAMP .

Všimněte si, jak všechny následující testovací případy fungují správně:

CREATE TABLE t1 (d1 datetime, d2 timestamp);

INSERT INTO t1 VALUES ('1968-01-01 00:00:00', '1980-01-01 00:00:00');
INSERT INTO t1 VALUES ('2040-01-01 00:00:00', '1980-01-01 00:00:00');

SELECT * FROM t1 WHERE d2 < d1;
+---------------------+---------------------+
| d1                  | d2                  |
+---------------------+---------------------+
| 2040-01-01 00:00:00 | 1980-01-01 00:00:00 |
+---------------------+---------------------+
1 row in set (0.00 sec)

SELECT * FROM t1 WHERE d2 > d1;
+---------------------+---------------------+
| d1                  | d2                  |
+---------------------+---------------------+
| 1968-01-01 00:00:00 | 1980-01-01 00:00:00 |
+---------------------+---------------------+
1 row in set (0.00 sec)

SELECT * FROM t1 WHERE d2 < '2040-01-01 00:00:00';
+---------------------+---------------------+
| d1                  | d2                  |
+---------------------+---------------------+
| 1968-01-01 00:00:00 | 1980-01-01 00:00:00 |
| 2040-01-01 00:00:00 | 1980-01-01 00:00:00 |
+---------------------+---------------------+
2 rows in set (0.00 sec)

SELECT * FROM t1 WHERE d2 > '2040-01-01 00:00:00';
Empty set (0.00 sec)



  1. Provádění matematické operace na dočasném sloupci v SQL

  2. Potřebuji nakonfigurovat django a mysql v pycharm IDE

  3. mySQL groupconcat vrací BLOB xxxB / Kib

  4. Obecná chyba:nelze zavolat konstruktor třídy'