mirror of
https://github.com/DeNNiiInc/dbgate.git
synced 2026-05-02 21:53:58 +00:00
group by date - postgres, mysql
This commit is contained in:
@@ -1,5 +1,30 @@
|
|||||||
const SqlDumper = require('../default/SqlDumper');
|
const SqlDumper = require('../default/SqlDumper');
|
||||||
|
|
||||||
class MySqlDumper extends SqlDumper {}
|
class MySqlDumper extends SqlDumper {
|
||||||
|
/** @param type {import('@dbgate/types').TransformType} */
|
||||||
|
transform(type, dumpExpr) {
|
||||||
|
switch (type) {
|
||||||
|
case 'GROUP:YEAR':
|
||||||
|
case 'YEAR':
|
||||||
|
this.put('^year(%c)', dumpExpr);
|
||||||
|
break;
|
||||||
|
case 'MONTH':
|
||||||
|
this.put('^month(%c)', dumpExpr);
|
||||||
|
break;
|
||||||
|
case 'DAY':
|
||||||
|
this.put('^day(%c)', dumpExpr);
|
||||||
|
break;
|
||||||
|
case 'GROUP:MONTH':
|
||||||
|
this.put("^date_format(%c, '%s')", dumpExpr, '%Y-%m');
|
||||||
|
break;
|
||||||
|
case 'GROUP:DAY':
|
||||||
|
this.put("^date_format(%c, '%s')", dumpExpr, '%Y-%m-%d');
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
dumpExpr();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = MySqlDumper;
|
module.exports = MySqlDumper;
|
||||||
|
|||||||
@@ -1,5 +1,30 @@
|
|||||||
const SqlDumper = require('../default/SqlDumper');
|
const SqlDumper = require('../default/SqlDumper');
|
||||||
|
|
||||||
class PostgreDumper extends SqlDumper {}
|
class PostgreDumper extends SqlDumper {
|
||||||
|
/** @param type {import('@dbgate/types').TransformType} */
|
||||||
|
transform(type, dumpExpr) {
|
||||||
|
switch (type) {
|
||||||
|
case 'GROUP:YEAR':
|
||||||
|
case 'YEAR':
|
||||||
|
this.put('^extract(^year ^from %c)', dumpExpr);
|
||||||
|
break;
|
||||||
|
case 'MONTH':
|
||||||
|
this.put('^extract(^month ^from %c)', dumpExpr);
|
||||||
|
break;
|
||||||
|
case 'DAY':
|
||||||
|
this.put('^extract(^day ^from %c)', dumpExpr);
|
||||||
|
break;
|
||||||
|
case 'GROUP:MONTH':
|
||||||
|
this.put("^to_char(%c, '%s')", dumpExpr, 'YYYY-MM');
|
||||||
|
break;
|
||||||
|
case 'GROUP:DAY':
|
||||||
|
this.put("^to_char(%c, '%s')", dumpExpr, 'YYYY-MM-DD');
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
dumpExpr();
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
module.exports = PostgreDumper;
|
module.exports = PostgreDumper;
|
||||||
|
|||||||
@@ -142,7 +142,12 @@ function CellFormattedValue({ value }) {
|
|||||||
if (_.isDate(value)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
|
if (_.isDate(value)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
|
||||||
if (value === true) return '1';
|
if (value === true) return '1';
|
||||||
if (value === false) return '0';
|
if (value === false) return '0';
|
||||||
if (_.isNumber(value)) return value.toLocaleString();
|
if (_.isNumber(value)) {
|
||||||
|
if (value >= 10000 || value <= -10000) {
|
||||||
|
return value.toLocaleString();
|
||||||
|
}
|
||||||
|
return value.toString();
|
||||||
|
}
|
||||||
if (_.isString(value)) {
|
if (_.isString(value)) {
|
||||||
if (dateTimeRegex.test(value)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
|
if (dateTimeRegex.test(value)) return moment(value).format('YYYY-MM-DD HH:mm:ss');
|
||||||
return highlightSpecialCharacters(value);
|
return highlightSpecialCharacters(value);
|
||||||
|
|||||||
Reference in New Issue
Block a user