diff --git a/db_utils/db_utils.go b/db_utils/db_utils.go
new file mode 100644
index 0000000000000000000000000000000000000000..5e9202cac83d863003045b74c95b0b72d6498908
--- /dev/null
+++ b/db_utils/db_utils.go
@@ -0,0 +1,81 @@
+package db_utils
+
+import (
+	"fmt"
+	"gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/date_utils"
+	"gitlab.bob.co.za/bob-public-utils/bobgroup-go-utils/number_utils"
+	"regexp"
+	"strings"
+	"time"
+)
+
+// Special query cases
+const (
+	LastXHours string = "^last \\d+ hour(s)?$"
+	LastDay    string = "^last day$"
+	LastXDays  string = "^last \\d+ day(s)?$"
+	LastMonth  string = "^last month$"
+	Yesterday  string = "^yesterday$"
+)
+
+func checkAbsoluteRegex(regex string, value string) bool {
+	matchesRegex, err := regexp.Match(regex, []byte(value))
+	if matchesRegex && err == nil {
+		return true
+	}
+
+	return false
+}
+
+func pullAbsoluteValue(value string) int64 {
+	reg, err := regexp.Compile("[a-zA-Z]+")
+	if err != nil {
+		return 0
+	}
+	value = reg.ReplaceAllString(value, "")
+	value = strings.TrimSpace(value)
+
+	val, _ := number_utils.StringToInt64(value)
+	return val
+}
+
+func AbsoluteDateStringQuery(absolute string) string {
+	var value int64
+	timeNow := date_utils.CurrentDate()
+
+	if checkAbsoluteRegex(LastXHours, absolute) {
+		value = pullAbsoluteValue(absolute)
+		since := timeNow.Add(time.Duration(-value) * time.Hour)
+
+		return fmt.Sprintf(" >= '%v'", date_utils.DateDBFormattedString(since))
+	}
+	if checkAbsoluteRegex(LastDay, absolute) {
+		startDay := time.Date(timeNow.Year(), timeNow.Month(), timeNow.Day(), 0, 0, 0, 0, date_utils.CurrentLocation())
+		endDay := time.Date(timeNow.Year(), timeNow.Month(), timeNow.Day(), 23, 59, 59, 999999999, date_utils.CurrentLocation())
+
+		return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(startDay), date_utils.DateDBFormattedString(endDay))
+	}
+	if checkAbsoluteRegex(LastXDays, absolute) {
+		value = pullAbsoluteValue(absolute)
+		since := timeNow.AddDate(0, 0, -int(value))
+
+		return fmt.Sprintf(" >= '%v'", date_utils.DateDBFormattedString(since))
+	}
+	if checkAbsoluteRegex(LastMonth, absolute) {
+		firstOfMonth := time.Date(timeNow.Year(), timeNow.Month(), 1, 0, 0, 0, 0, date_utils.CurrentLocation())
+		lastDay := firstOfMonth.AddDate(0, 1, -1)
+		lastOfMonth := time.Date(lastDay.Year(), lastDay.Month(), lastDay.Day(), 23, 59, 59, 999999999, date_utils.CurrentLocation())
+
+		return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(firstOfMonth), date_utils.DateDBFormattedString(lastOfMonth))
+	}
+	if checkAbsoluteRegex(Yesterday, absolute) {
+		yesterday := timeNow.AddDate(0, 0, -1)
+		startDay := time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 0, 0, 0, 0, date_utils.CurrentLocation())
+		endDay := time.Date(yesterday.Year(), yesterday.Month(), yesterday.Day(), 23, 59, 59, 999999999, date_utils.CurrentLocation())
+
+		return fmt.Sprintf(" BETWEEN '%v' AND '%v'", date_utils.DateDBFormattedString(startDay), date_utils.DateDBFormattedString(endDay))
+	}
+
+	// Not matched, so try to match it literally (It'll probably break and return nothing, but that's good)
+	return fmt.Sprintf(" = '%v'", absolute)
+}