Add StringColumn type and expression
Add Projection type Alias refactoring More numeric operations
This commit is contained in:
parent
033ab1d0da
commit
b2f84d048c
16 changed files with 350 additions and 199 deletions
25
sqlbuilder/string_expression.go
Normal file
25
sqlbuilder/string_expression.go
Normal file
|
|
@ -0,0 +1,25 @@
|
|||
package sqlbuilder
|
||||
|
||||
type StringExpression interface {
|
||||
Expression
|
||||
|
||||
Eq(expression StringExpression) BoolExpression
|
||||
EqL(value string) BoolExpression
|
||||
NotEq(expression StringExpression) BoolExpression
|
||||
}
|
||||
|
||||
type stringInterfaceImpl struct {
|
||||
parent StringExpression
|
||||
}
|
||||
|
||||
func (b *stringInterfaceImpl) Eq(expression StringExpression) BoolExpression {
|
||||
return newBinaryBoolExpression(b.parent, expression, []byte(" = "))
|
||||
}
|
||||
|
||||
func (b *stringInterfaceImpl) EqL(value string) BoolExpression {
|
||||
return newBinaryBoolExpression(b.parent, Literal(value), []byte(" = "))
|
||||
}
|
||||
|
||||
func (b *stringInterfaceImpl) NotEq(expression StringExpression) BoolExpression {
|
||||
return newBinaryBoolExpression(b.parent, expression, []byte(" != "))
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue