Мой код SQL показывает 00 вместо 12 утра.Как я могу настроить это? - PullRequest
1 голос
/ 27 октября 2011

У меня есть следующий код, который отлично работает для меня.Я использую его в пакете служб SSIS в SQL.У меня проблема в том, что между полуночью и 1:00 утра время показывается как 00. Я хотел бы как можно больше придерживаться следующего кода, так как он работает для меня, но просто внести необходимые корректировки,Любая помощь будет принята с благодарностью !!!

Спасибо, Джон

    SELECT     CASE WHEN DATEPART(hour, DateTimeField) < 13 THEN 
    RIGHT(REPLICATE(' ', 2) + CAST(datepart(hour, DateTimeField) AS VARCHAR(2)), 2) 
    ELSE 
    RIGHT(REPLICATE(' ', 2) + CAST(datepart(hour, dateadd(hour, - 12, DateTimeField))
    AS VARCHAR(2)), 2) END

Ответы [ 2 ]

3 голосов
/ 27 октября 2011

Я думаю, вы могли бы просто сделать это вместо:

SELECT SUBSTRING(CONVERT(CHAR(14), DateTimeField, 100), 13, 2)
0 голосов
/ 27 октября 2011

Предполагая Oracle, так как вы не указали.Общий метод заключается в использовании функции TO_CHAR и шаблона преобразования даты, который допускает 01-12 вместо 00-23.

select to_char(sysdate, 'HH:MI:SS AM') from dual;

select to_char(sysdate, 'HH24:MI:SS') from dual;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...