Added dayOfWeek to date/datetime fields
This commit is contained in:
parent
ba25bcb8c2
commit
7ca5d62cc9
|
|
@ -287,6 +287,10 @@ QString SqliteGenerator::createConditionalPhrase(const PhraseData *d) const
|
||||||
return QStringLiteral("CAST(strftime('%d', %1) AS INT)")
|
return QStringLiteral("CAST(strftime('%d', %1) AS INT)")
|
||||||
.arg(createConditionalPhrase(d->left));
|
.arg(createConditionalPhrase(d->left));
|
||||||
|
|
||||||
|
case PhraseData::DatePartDayOfWeek:
|
||||||
|
return QStringLiteral("CAST(strftime('%w', %1) AS INT)")
|
||||||
|
.arg(createConditionalPhrase(d->left));
|
||||||
|
|
||||||
case PhraseData::DatePartHour:
|
case PhraseData::DatePartHour:
|
||||||
return QStringLiteral("CAST(strftime('%H', %1) AS INT)")
|
return QStringLiteral("CAST(strftime('%H', %1) AS INT)")
|
||||||
.arg(createConditionalPhrase(d->left));
|
.arg(createConditionalPhrase(d->left));
|
||||||
|
|
|
||||||
|
|
@ -266,6 +266,9 @@ QString SqlServerGenerator::createConditionalPhrase(const PhraseData *d) const
|
||||||
|
|
||||||
if (d->type == PhraseData::WithoutOperand) {
|
if (d->type == PhraseData::WithoutOperand) {
|
||||||
switch (op) {
|
switch (op) {
|
||||||
|
case PhraseData::DatePartDayOfWeek:
|
||||||
|
return QStringLiteral("DATEPART(WEEKDAY, %1)")
|
||||||
|
.arg(createConditionalPhrase(d->left));
|
||||||
case PhraseData::DatePartYear:
|
case PhraseData::DatePartYear:
|
||||||
case PhraseData::DatePartMonth:
|
case PhraseData::DatePartMonth:
|
||||||
case PhraseData::DatePartDay:
|
case PhraseData::DatePartDay:
|
||||||
|
|
|
||||||
|
|
@ -52,6 +52,10 @@ ConditionalPhrase FieldPhrase<QDate>::day() {
|
||||||
return ConditionalPhrase(this, PhraseData::DatePartDay);
|
return ConditionalPhrase(this, PhraseData::DatePartDay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ConditionalPhrase FieldPhrase<QDate>::dayOfWeek() {
|
||||||
|
return ConditionalPhrase(this, PhraseData::DatePartDayOfWeek);
|
||||||
|
}
|
||||||
|
|
||||||
FieldPhrase<QTime>::FieldPhrase(const char *className, const char *s) :
|
FieldPhrase<QTime>::FieldPhrase(const char *className, const char *s) :
|
||||||
AbstractFieldPhrase(className, s)
|
AbstractFieldPhrase(className, s)
|
||||||
{}
|
{}
|
||||||
|
|
@ -125,6 +129,10 @@ ConditionalPhrase FieldPhrase<QDateTime>::day() {
|
||||||
return ConditionalPhrase(this, PhraseData::DatePartDay);
|
return ConditionalPhrase(this, PhraseData::DatePartDay);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
ConditionalPhrase FieldPhrase<QDateTime>::dayOfWeek() {
|
||||||
|
return ConditionalPhrase(this, PhraseData::DatePartDayOfWeek);
|
||||||
|
}
|
||||||
|
|
||||||
ConditionalPhrase FieldPhrase<QDateTime>::hour() {
|
ConditionalPhrase FieldPhrase<QDateTime>::hour() {
|
||||||
return ConditionalPhrase(this, PhraseData::DatePartHour);
|
return ConditionalPhrase(this, PhraseData::DatePartHour);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -75,6 +75,8 @@ public:
|
||||||
ConditionalPhrase year();
|
ConditionalPhrase year();
|
||||||
ConditionalPhrase month();
|
ConditionalPhrase month();
|
||||||
ConditionalPhrase day();
|
ConditionalPhrase day();
|
||||||
|
|
||||||
|
ConditionalPhrase dayOfWeek();
|
||||||
};
|
};
|
||||||
|
|
||||||
template<>
|
template<>
|
||||||
|
|
@ -115,6 +117,8 @@ public:
|
||||||
ConditionalPhrase month();
|
ConditionalPhrase month();
|
||||||
ConditionalPhrase day();
|
ConditionalPhrase day();
|
||||||
|
|
||||||
|
ConditionalPhrase dayOfWeek();
|
||||||
|
|
||||||
ConditionalPhrase hour();
|
ConditionalPhrase hour();
|
||||||
ConditionalPhrase minute();
|
ConditionalPhrase minute();
|
||||||
ConditionalPhrase second();
|
ConditionalPhrase second();
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue