From d07c25fe0168afc98bbeeeb830de93fe35b1cfe5 Mon Sep 17 00:00:00 2001 From: Ankit Patial Date: Sun, 3 Aug 2025 22:17:58 +0530 Subject: [PATCH] COALESCE related methods --- pgm.go | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/pgm.go b/pgm.go index c47c4c3..467dd6b 100644 --- a/pgm.go +++ b/pgm.go @@ -44,6 +44,21 @@ func (f Field) Count() Field { return Field("COUNT(" + f.String() + ")") } +// StringEscape will return a empty string for null value +func (f Field) StringEscape(arg ...any) Field { + return Field("COALESCE(" + f.String() + ", '')") +} + +// NumberEscape will return a zero string for null value +func (f Field) NumberEscape(arg ...any) Field { + return Field("COALESCE(" + f.String() + ", 0)") +} + +// BooleanEscape will return a false for null value +func (f Field) BooleanEscape(arg ...any) Field { + return Field("COALESCE(" + f.String() + ", FALSE)") +} + // Avg fn wrapping of field func (f Field) Avg() Field { return Field("AVG(" + f.String() + ")")