-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Open
Description
Hello,
I'm currently working with the sqlx and have encountered a scenario where I need to conditionally include the column event_name
filter in my SQL query. Specifically, I want to omit the event_name
condition when its corresponding value is nil or not provided, without manually constructing the entire query string.
Here's the query and code I'm using:
query := `
SELECT *
FROM i_event_log_kst_day e
WHERE e.partition_timestamp BETWEEN DATE :startTime AND DATE :endTime
AND e.partner_id = :partnerID
AND e.event_name = :eventName
ORDER BY e.created_at, e.user_id
`
arg := map[string]interface{}{
"startTime": startTime,
"endTime": endTime,
"partnerID": partnerID,
"eventName": eventName,
}
result, err := a.db.NamedQuery(query, arg);
When eventName is nil or not provided, I would like the query to exclude the AND e.event_name = :eventName
condition, effectively ignoring the event_name
column in the filtering process.
Is there a recommended approach within the sqlx library to achieve this dynamic behavior without resorting to manual query string manipulation?
Thank you for your assistance.
Metadata
Metadata
Assignees
Labels
No labels