@@ -137,7 +137,7 @@ export class SQLBaseType extends SQLType {
137137 getBinaryResult ( operator : TokenType , value1 : any , value2 : any ) : any {
138138 switch ( operator ) {
139139 case TokenType . concatenation :
140- if ( value1 != null && value2 != null ) return value1 + value2 ;
140+ if ( value1 != null && value2 != null ) return ( value1 + "" ) + ( value2 + "" ) ;
141141 return value1 != null ? value1 : value2 ;
142142 case TokenType . plus :
143143 if ( value1 != null && value2 != null ) return value1 + value2 ;
@@ -398,7 +398,14 @@ SQLBaseType.addBaseTypes(baseTypes);
398398varcharType . addBinaryOperation ( TokenType . concatenation , varcharType , varcharType ) ;
399399varcharType . addBinaryOperation ( TokenType . concatenation , charType , varcharType ) ;
400400varcharType . addBinaryOperation ( TokenType . concatenation , textType , textType ) ;
401+ varcharType . addBinaryOperation ( TokenType . concatenation , floatType , textType ) ;
402+ varcharType . addBinaryOperation ( TokenType . concatenation , intType , textType ) ;
403+
404+
401405textType . addBinaryOperation ( TokenType . concatenation , textType , textType ) ;
406+ textType . addBinaryOperation ( TokenType . concatenation , floatType , textType ) ;
407+ textType . addBinaryOperation ( TokenType . concatenation , intType , textType ) ;
408+
402409varcharType . addBinaryOperation ( TokenType . keywordLike , varcharType , booleanType ) ;
403410varcharType . addBinaryOperation ( TokenType . keywordLike , textType , booleanType ) ;
404411textType . addBinaryOperation ( TokenType . keywordLike , textType , booleanType ) ;
@@ -429,6 +436,8 @@ for (let i = 0; i < numericTypes.length; i++) {
429436 numericTypes [ i ] . addBinaryOperation ( numericBinaryOperators , numericTypes [ j ] , numericTypes [ j ] ) ;
430437 numericTypes [ i ] . addBinaryOperation ( comparisonOperators , numericTypes [ j ] , booleanType ) ;
431438 }
439+ numericTypes [ i ] . addBinaryOperation ( TokenType . concatenation , varcharType , textType ) ;
440+ numericTypes [ i ] . addBinaryOperation ( TokenType . concatenation , textType , textType ) ;
432441 numericTypes [ i ] . unaryOperators = [ TokenType . minus ] ;
433442}
434443
0 commit comments