예제 #1
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var operand = Operand.BuildSql(sqlOptions, FlowOptions.Construct(this));
            var command = sqlOptions.Command("IS NULL");

            return($"{operand} {command}");
        }
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var columnName = ColumnName.BuildSql(sqlOptions, FlowOptions.Construct(this));
            var value      = Value.BuildSql(sqlOptions, FlowOptions.Construct(this));

            return($"{columnName} = {value}");
        }
예제 #3
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var operand = Operand.BuildSql(sqlOptions, FlowOptions.Construct(this));
            var command = new FalseOperand().BuildSql(sqlOptions, FlowOptions.Construct(this));

            return($"{operand} = {command}");
        }
예제 #4
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var columnName   = ColumnName.BuildSql(sqlOptions, FlowOptions.Construct(this));
            var propertyName = PropertyName.BuildSql(sqlOptions, FlowOptions.Construct(this));
            var command      = "=";

            return($"{columnName} {command} {propertyName}");
        }
예제 #5
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var tableColumnName = TableColumn.BuildSql(sqlOptions, FlowOptions.Construct(this));

            if (Value?.Present(sqlOptions) != true)
            {
                return($"{tableColumnName}");
            }

            var property = Value.BuildSql(sqlOptions, FlowOptions.Construct(this));
            var command  = sqlOptions.Command("AS");

            return($"{tableColumnName} {command} {property}");
        }
예제 #6
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var value = Value.BuildSql(sqlOptions);
            var @as   = As;

            if (@as == null)
            {
                return(value);
            }
            var command   = sqlOptions.Command("CAST");
            var asCommand = sqlOptions.Command("AS");

            return($"{command}({value} {asCommand} {@as})");
        }
예제 #7
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            string command;

            switch (sqlOptions.DatabaseType)
            {
            case SqlDatabaseType.MsSql:

                command = sqlOptions.Command("FETCH NEXT");
                break;

            default:
                command = sqlOptions.Command("LIMIT");
                break;
            }

            var limitBy = LimitBy?.BuildSql(sqlOptions, FlowOptions.Construct(this));

            return($"{command} {limitBy}");
        }
예제 #8
0
        public override string BuildSql(SqlOptions sqlOptions)
        {
            var offset = Offset?.BuildSql(sqlOptions, FlowOptions.Construct(this));

            return($"{sqlOptions.Command("OFFSET")} {offset}");
        }