From 4f56dc3fb4266565650542f2a8cb6babe4b46d11 Mon Sep 17 00:00:00 2001 From: Bruce Momjian Date: Tue, 23 Feb 2010 06:29:01 +0000 Subject: [PATCH] Secondary patch to fix interval to_char() for "HH" where hours >= 12. --- src/backend/utils/adt/formatting.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/backend/utils/adt/formatting.c b/src/backend/utils/adt/formatting.c index 1db285536f..a41f6f1496 100644 --- a/src/backend/utils/adt/formatting.c +++ b/src/backend/utils/adt/formatting.c @@ -1,7 +1,7 @@ /* ----------------------------------------------------------------------- * formatting.c * - * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.164 2010/02/23 01:42:19 momjian Exp $ + * $PostgreSQL: pgsql/src/backend/utils/adt/formatting.c,v 1.165 2010/02/23 06:29:01 momjian Exp $ * * * Portions Copyright (c) 1999-2010, PostgreSQL Global Development Group @@ -2089,7 +2089,8 @@ DCH_to_char(FormatNode *node, bool is_interval, TmToChar *in, char *out) case DCH_HH: case DCH_HH12: sprintf(s, "%0*d", S_FM(n->suffix) ? 0 : 2, - !is_interval && tm->tm_hour % (HOURS_PER_DAY / 2) == 0 ? + is_interval ? tm->tm_hour : + tm->tm_hour % (HOURS_PER_DAY / 2) == 0 ? 12 : tm->tm_hour % (HOURS_PER_DAY / 2)); if (S_THth(n->suffix)) str_numth(s, s, S_TH_TYPE(n->suffix)); -- 2.11.0