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() + ")")