diff --git a/uppsrc/Sql/Sqlexp.h b/uppsrc/Sql/Sqlexp.h index 7306b3bbf..e9d788289 100644 --- a/uppsrc/Sql/Sqlexp.h +++ b/uppsrc/Sql/Sqlexp.h @@ -342,6 +342,10 @@ public: bool IsFalse() const { return priority == FALSEVAL; } bool IsBool() const { return IsTrue() || IsFalse(); } bool AsBool() const { ASSERT(IsBool()); return IsTrue(); } + + SqlVal AsValue() const { return SqlVal(text, LOW); } + SqlVal As(const char *as) const { return AsValue().As(as); } + SqlVal As(const SqlId& id) const { return AsValue().As(id); } SqlBool(const String& s, int pr) : SqlS(s, pr) {} SqlBool(const SqlS& a, const char *o, const SqlS& b, int pa, int pb) diff --git a/uppsrc/Sql/src.tpp/SqlExp$en-us.tpp b/uppsrc/Sql/src.tpp/SqlExp$en-us.tpp index cf78a7846..c5f839cdf 100644 --- a/uppsrc/Sql/src.tpp/SqlExp$en-us.tpp +++ b/uppsrc/Sql/src.tpp/SqlExp$en-us.tpp @@ -175,7 +175,15 @@ topic "SqlExp in examples"; [s0;%- [*C1 when COL `= 2 then E`'two`']&] [s0;%- [*C1 else E`'?`' end]&] [s0;%- [C1 from TABLE1]] -:: [s0;%- [C1 Select(COLUMN)]&] +::= [s0;%- [C1 Select((COL > 10).][*C1 AsValue][C1 ())]&] +[s0;%- [C1 .From(TABLE2)]] +:: [s0;%- [C1 select COL > 10]&] +[s0;%- [C1 from TABLE2]] +:: [s0;%- [C1 Select((COL > 10).][*C1 As][C1 (`"GT10`"))]&] +[s0;%- [C1 .From(TABLE2)]] +:: [s0;%- [C1 select COL > 10 ][*C1 as][C1 GT10]&] +[s0;%- [C1 from TABLE2]] +::^ [s0;%- [C1 Select(COLUMN)]&] [s0;%- [C1 .From(TABLE)]&] [s0;%- [C1 .Where(][*C1 COLUMN / 2 > 1 `&`& COLUMN1 `=`= `"A`" `|`|]&] [s0;%- [*C1 COLUMN2 `=`= Date(2006, 1, 1)][C1 )]]