У меня есть 2 поля в моей базе данных DB2: DATE и TIME. DATE - строка (8/25/2013), DATE - временная метка (1/1/1970 7:00:00 AM). Я хочу написать sql для замены 1/1/1970 с 8/25/2103. Пожалуйста помоги.В DB2 String заменить
Спасибо.
У меня есть 2 поля в моей базе данных DB2: DATE и TIME. DATE - строка (8/25/2013), DATE - временная метка (1/1/1970 7:00:00 AM). Я хочу написать sql для замены 1/1/1970 с 8/25/2103. Пожалуйста помоги.В DB2 String заменить
Спасибо.
Ну, что вам нужно, чтобы бросить вашу строку в дату, используя DATE
функцию
DATE(DATE)
Где вы видите, что это это плохая идея назвать столбцы с существующими именами функций ...
Тогда комбинируя TIMESTAMP
, DATE
и TIME
функцию (опять же на самом деле мутноватый с именами полей, но ...)
TIMESTAMP(DATE(DATE), TIME(TIME))
Даст вам метку времени, когда дата часть исходит от поля DATE, а часть времени из поля TIME
Почему вы выбрали типы? Что получается? – WarrenT
После заброса в формат DATE, добавив разницу между теми, две абсолютные даты должны работать -
UPDATE <table-name>
SET DATE= DATEADD(day,DATEDIFF(day,'1/1/1970','8/25/2013'),DATE)
WHERE DATE < '1/2/1970' AND DATE>='1/1/1970'
Подробнее о DATEADD и DATEDIFF Кроме того, рекомендуется не использовать «ДАТА» в качестве имени столбца, как это зарезервированное [править] имя функции.
является то, что 2013 год в году? – Vandesh