diff --git a/lib/models/segments.js b/lib/models/segments.js index 63025fb8..9454ed72 100644 --- a/lib/models/segments.js +++ b/lib/models/segments.js @@ -548,10 +548,14 @@ module.exports.getQuery = (id, callback) => { break; case 'number': if (rule.value.range) { - query.push('`' + rule.columnType.column + '` >= ?'); - query.push('`' + rule.columnType.column + '` < ?'); - values.push(rule.value.start); - values.push(rule.value.end); + if (rule.value.start) { + query.push('`' + rule.columnType.column + '` >= ?'); + values.push(rule.value.start); + } + if (rule.value.end) { + query.push('`' + rule.columnType.column + '` < ?'); + values.push(rule.value.end); + } } else { query.push('`' + rule.columnType.column + '` = ?'); values.push(rule.value.value); @@ -559,10 +563,12 @@ module.exports.getQuery = (id, callback) => { break; case 'birthday': if (rule.value.range) { + let start = rule.value.start || '01-01'; + let end = rule.value.end || '12-31'; query.push('`' + rule.columnType.column + '` >= ?'); + values.push(getDate('2000-' + start)); query.push('`' + rule.columnType.column + '` < ?'); - values.push(getDate('2000-' + rule.value.start)); - values.push(getDate('2000-' + rule.value.end, true)); + values.push(getDate('2000-' + end, true)); } else { query.push('`' + rule.columnType.column + '` >= ?'); query.push('`' + rule.columnType.column + '` < ?'); @@ -572,10 +578,14 @@ module.exports.getQuery = (id, callback) => { break; case 'date': if (rule.value.range) { - query.push('`' + rule.columnType.column + '` >= ?'); - query.push('`' + rule.columnType.column + '` < ?'); - values.push(getDate(rule.value.start)); - values.push(getDate(rule.value.end, true)); + if (rule.value.start) { + query.push('`' + rule.columnType.column + '` >= ?'); + values.push(getDate(rule.value.start)); + } + if (rule.value.end) { + query.push('`' + rule.columnType.column + '` < ?'); + values.push(getDate(rule.value.end, true)); + } } else { query.push('`' + rule.columnType.column + '` >= ?'); query.push('`' + rule.columnType.column + '` < ?'); diff --git a/views/lists/segments/rule-edit.hbs b/views/lists/segments/rule-edit.hbs index 260c131d..e0c2c4ce 100644 --- a/views/lists/segments/rule-edit.hbs +++ b/views/lists/segments/rule-edit.hbs @@ -135,7 +135,7 @@