From 02d5486939f2e4bea3ecf03c668349b35ec3f4b2 Mon Sep 17 00:00:00 2001 From: Hamed Masafi Date: Tue, 26 Feb 2019 13:19:50 +0330 Subject: [PATCH] date parts sql [skip ci] --- src/generators/sqlgeneratorbase.cpp | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/generators/sqlgeneratorbase.cpp b/src/generators/sqlgeneratorbase.cpp index a6ca8e0..2e75cbd 100644 --- a/src/generators/sqlgeneratorbase.cpp +++ b/src/generators/sqlgeneratorbase.cpp @@ -983,6 +983,24 @@ QString SqlGeneratorBase::createConditionalPhrase(const PhraseData *d) const else if (op == PhraseData::AddSeconds) ret = QString("DATEADD(second, %1, %2)") .arg(d->operand.toString(), createConditionalPhrase(d->left)); + else if (op == PhraseData::DatePartYear) + ret = QString("DATEPART(year, %1)") + .arg(d->operand.toString()); + else if (op == PhraseData::DatePartMonth) + ret = QString("DATEPART(month, %1)") + .arg(d->operand.toString()); + else if (op == PhraseData::DatePartDay) + ret = QString("DATEPART(day, %1)") + .arg(d->operand.toString()); + else if (op == PhraseData::DatePartHour) + ret = QString("DATEPART(hour, %1)") + .arg(d->operand.toString()); + else if (op == PhraseData::DatePartMinute) + ret = QString("DATEPART(minute, %1)") + .arg(d->operand.toString()); + else if (op == PhraseData::DatePartMilisecond) + ret = QString("DATEPART(milisecond, %1)") + .arg(d->operand.toString()); else ret = createConditionalPhrase(d->left) + " " + operatorString(op) + " " + escapeValue(d->operand);