TIMESTAMP
формат включает в себя дату и время, поэтому внутренне он должен храниться в виде двоичной структуры, которая содержит больше данных, чем просто дата, см .:
db2 "describe values current date"
Column Information
Number of columns: 1
SQL type Type length Column name Name length
-------------------- ----------- ------------------------------ -----------
384 DATE 10 1 1
против
db2 "describe values current timestamp"
Column Information
Number of columns: 1
SQL type Type length Column name Name length
-------------------- ----------- ------------------------------ -----------
392 TIMESTAMP 26 1 1
Вы можете даже побитно проверять фактическую структуру с помощью функции HEX()
:
db2 "values hex(date(current timestamp))"
1
--------
20191013
db2 "values hex(timestamp(current timestamp))"
1
--------------------
20191013090443204348
В зависимости от используемой утилиты, Db2 будет неявно приводить значенияк цели TIMESTAMP. С помощью LOAD вы можете просмотреть документацию для метки времени , чтобы увидеть, какие форматы будут приняты по умолчанию.
Предполагая Db2 LUW, я сделал быстрый тест с:
db2 "create table timestamp_load_test(c1 int, c2 timestamp)"
echo "1,2019-10-13-09.00.00.000000" >> data.del
echo "2,2019-10-13-09.00.00" >> data.del
echo "3,2019-10-13-09.00" >> data.del
echo "4,2019-10-13" >> data.del
db2 "load from data.del of del replace into timestamp_load_test nonrecoverable"
...
SQL0180N The syntax of the string representation of a datetime value is
incorrect. SQLSTATE=22007
SQL3185W The previous error occurred while processing data from row "F0-3" of
the input file.
...
Number of rows read = 4
Number of rows skipped = 0
Number of rows loaded = 3
Number of rows rejected = 1
Number of rows deleted = 0
Number of rows committed = 4
Как мы видим, были приняты 3 строки:
db2 "select * from timestamp_load_test"
C1 C2
----------- --------------------------
1 2019-10-13-09.00.00.000000
2 2019-10-13-09.00.00.000000
4 2019-10-13-00.00.00.000000
Конечно, они отображаютсяс частью времени, но фактическое форматирование будет зависеть от используемого клиента.