mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-07-11 22:03:01 -06:00
SqlExp: Least, Greatest, SqlDate in MSSQL dialect
git-svn-id: svn://ultimatepp.org/upp/trunk@7881 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
parent
32d34085af
commit
e2ddf5871b
1 changed files with 12 additions and 10 deletions
|
|
@ -330,17 +330,15 @@ SqlVal Variance(const SqlVal& a) {
|
|||
}
|
||||
|
||||
SqlVal Greatest(const SqlVal& a, const SqlVal& b) {
|
||||
return SqlFunc(SqlCase
|
||||
(SQLITE3, "max")
|
||||
("greatest"),
|
||||
a, b);
|
||||
return SqlVal(SqlCase(MSSQL, '(' + ~Case(a < b, b)(a) + ')')
|
||||
(~SqlFunc(SqlCase(SQLITE3, "max")("greatest"), a, b)),
|
||||
SqlS::FN);
|
||||
}
|
||||
|
||||
SqlVal Least(const SqlVal& a, const SqlVal& b) {
|
||||
return SqlFunc(SqlCase
|
||||
(SQLITE3, "min")
|
||||
("least"),
|
||||
a, b);
|
||||
return SqlVal(SqlCase(MSSQL, '(' + ~Case(a > b, b)(a) + ')')
|
||||
(~SqlFunc(SqlCase(SQLITE3, "min")("least"), a, b)),
|
||||
SqlS::FN);
|
||||
}
|
||||
|
||||
SqlVal ConvertCharset(const SqlVal& exp, const SqlVal& charset) { //TODO Dialect!
|
||||
|
|
@ -397,8 +395,12 @@ SqlVal Wild(const char* s) {
|
|||
return result;
|
||||
}
|
||||
|
||||
SqlVal SqlDate(const SqlVal& year, const SqlVal& month, const SqlVal& day) {//TODO Dialect!
|
||||
return SqlFunc("to_date", year|"."|month|"."|day, "SYYYY.MM.DD");
|
||||
SqlVal SqlDate(const SqlVal& year, const SqlVal& month, const SqlVal& day) {
|
||||
return SqlVal(SqlCase(ORACLE, ~SqlFunc("to_date", year|"."|month|"."|day, "SYYYY.MM.DD")) // Similiar to common, but keep proved version to be sure...
|
||||
(MSSQL, ~SqlFunc("datefromparts", year, month, day))
|
||||
("to_date(to_char(" + ~day + ", '00') || to_char(" + ~month +
|
||||
", '00') || to_char(" + ~year + ",'9999'), 'DDMMYYYY')"),
|
||||
SqlS::FN);
|
||||
}
|
||||
|
||||
SqlVal AddMonths(const SqlVal& date, const SqlVal& months) {//TODO Dialect!
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue