SqlServerGrammar
class SqlServerGrammar extends Grammar (View source)
Traits
Properties
| static protected array | $macros | The registered string macros.  | 
                from Macroable | 
| protected string | $tablePrefix | The grammar table prefix.  | 
                from Grammar | 
| protected string[] | $operators | All of the available clause operators.  | 
                |
| protected array | $bitwiseOperators | The grammar specific bitwise operators.  | 
                from Grammar | 
| protected string[] | $selectComponents | The components that make up a select clause.  | 
                from Grammar | 
Methods
Mix another object into the class.
Dynamically handle calls to the class.
Dynamically handle calls to the class.
Wrap a value that has an alias.
Wrap a single string in keyword identifiers.
Wrap the given JSON selector.
Convert an array of column names into a delimited string.
Get the appropriate query parameter place-holder for a value.
Get the format for database stored dates.
Split the given JSON selector into the field and the optional path and wrap them separately.
Wrap the given JSON path.
Wrap the given JSON path segment.
Format the where clause statements into one string.
Compile a "JSON contains" statement into SQL.
Prepare the binding for a "JSON contains" statement.
Compile a "JSON contains key" statement into SQL.
Compile a "JSON length" statement into SQL.
Compile a "JSON value cast" statement into SQL.
Compile a single having clause.
Compile a having clause involving a bit operator.
Compile the random statement into SQL.
Wrap a union subquery in parentheses.
Compile an insert and get ID statement into SQL.
Compile an insert statement using a subquery into SQL.
Compile an update statement without joins into SQL.
Compile an update statement with joins into SQL.
Compile an "upsert" statement into SQL.
Prepare the bindings for an update statement.
Compile a delete statement without joins into SQL.
Compile a delete statement with joins into SQL.
Prepare the bindings for a delete statement.
Compile the SQL statement to define a savepoint.
Compile the SQL statement to execute a savepoint rollback.
Wrap the given JSON selector for boolean values.
Wrap the given JSON boolean value.
Concatenate an array of segments, removing empties.
Remove the leading boolean from a statement.
Compile a having clause involving a bitwise operator.
Create a full ANSI offset clause for the query.
Compile the over statement for a table expression.
Determine if the query's order by clauses contain a subquery.
Move the order bindings to be after the "select" statement to account for an order by subquery.
Wrap a table in keyword identifiers.
Details
        
                static            void
    macro(string $name, object|callable $macro)
        
    
    Register a custom macro.
        
                static            void
    mixin(object $mixin, bool $replace = true)
        
    
    Mix another object into the class.
        
                static            bool
    hasMacro(string $name)
        
    
    Checks if macro is registered.
        
                static            void
    flushMacros()
        
    
    Flush the existing macros.
        
                static            mixed
    __callStatic(string $method, array $parameters)
        
    
    Dynamically handle calls to the class.
        
                            mixed
    __call(string $method, array $parameters)
        
    
    Dynamically handle calls to the class.
        
                            array
    wrapArray(array $values)
        
    
    Wrap an array of values.
        
                            string
    wrapTable(Expression|string $table)
        
    
    Wrap a table in keyword identifiers.
        
                            string
    wrap(Expression|string $value, bool $prefixAlias = false)
        
    
    Wrap a value in keyword identifiers.
        
                    protected        string
    wrapAliasedValue(string $value, bool $prefixAlias = false)
        
    
    Wrap a value that has an alias.
        
                    protected        string
    wrapSegments(array $segments)
        
    
    Wrap the given value segments.
        
                    protected        string
    wrapValue(string $value)
        
    
    Wrap a single string in keyword identifiers.
        
                    protected        string
    wrapJsonSelector(string $value)
        
    
    Wrap the given JSON selector.
        
                    protected        bool
    isJsonSelector(string $value)
        
    
    Determine if the given string is a JSON selector.
        
                            string
    columnize(array $columns)
        
    
    Convert an array of column names into a delimited string.
        
                            string
    parameterize(array $values)
        
    
    Create query parameter place-holders for an array.
        
                            string
    parameter(mixed $value)
        
    
    Get the appropriate query parameter place-holder for a value.
        
                            string
    quoteString(string|array $value)
        
    
    Quote the given string literal.
        
                            bool
    isExpression(mixed $value)
        
    
    Determine if the given value is a raw expression.
        
                            mixed
    getValue(Expression $expression)
        
    
    Get the value of a raw expression.
        
                            string
    getDateFormat()
        
    
    Get the format for database stored dates.
        
                            string
    getTablePrefix()
        
    
    Get the grammar's table prefix.
        
                            $this
    setTablePrefix(string $prefix)
        
    
    Set the grammar's table prefix.
        
                    protected        array
    wrapJsonFieldAndPath(string $column)
        
    
    Split the given JSON selector into the field and the optional path and wrap them separately.
        
                    protected        string
    wrapJsonPath(string $value, string $delimiter = '->')
        
    
    Wrap the given JSON path.
        
                    protected        string
    wrapJsonPathSegment(string $segment)
        
    
    Wrap the given JSON path segment.
        
                            string
    compileSelect(Builder $query)
        
    
    Compile a select query into SQL.
        
                    protected        array
    compileComponents(Builder $query)
        
    
    Compile the components necessary for a select clause.
        
                    protected        string
    compileAggregate(Builder $query, array $aggregate)
        
    
    Compile an aggregated select clause.
        
                    protected        string|null
    compileColumns(Builder $query, array $columns)
        
    
    Compile the "select *" portion of the query.
        
                    protected        string
    compileFrom(Builder $query, string $table)
        
    
    Compile the "from" portion of the query.
        
                    protected        string
    compileJoins(Builder $query, array $joins)
        
    
    Compile the "join" portions of the query.
        
                            string
    compileWheres(Builder $query)
        
    
    Compile the "where" portions of the query.
        
                    protected        array
    compileWheresToArray(Builder $query)
        
    
    Get an array of all the where clauses for the query.
        
                    protected        string
    concatenateWhereClauses(Builder $query, array $sql)
        
    
    Format the where clause statements into one string.
        
                    protected        string
    whereRaw(Builder $query, array $where)
        
    
    Compile a raw where clause.
        
                    protected        string
    whereBasic(Builder $query, array $where)
        
    
    Compile a basic where clause.
        
                    protected        string
    whereBitwise(Builder $query, array $where)
        
    
    Compile a bitwise operator where clause.
        
                    protected        string
    whereIn(Builder $query, array $where)
        
    
    Compile a "where in" clause.
        
                    protected        string
    whereNotIn(Builder $query, array $where)
        
    
    Compile a "where not in" clause.
        
                    protected        string
    whereNotInRaw(Builder $query, array $where)
        
    
    Compile a "where not in raw" clause.
For safety, whereIntegerInRaw ensures this method is only used with integer values.
        
                    protected        string
    whereInRaw(Builder $query, array $where)
        
    
    Compile a "where in raw" clause.
For safety, whereIntegerInRaw ensures this method is only used with integer values.
        
                    protected        string
    whereNull(Builder $query, array $where)
        
    
    Compile a "where null" clause.
        
                    protected        string
    whereNotNull(Builder $query, array $where)
        
    
    Compile a "where not null" clause.
        
                    protected        string
    whereBetween(Builder $query, array $where)
        
    
    Compile a "between" where clause.
        
                    protected        string
    whereBetweenColumns(Builder $query, array $where)
        
    
    Compile a "between" where clause.
        
                    protected        string
    whereDate(Builder $query, array $where)
        
    
    Compile a "where date" clause.
        
                    protected        string
    whereTime(Builder $query, array $where)
        
    
    Compile a "where time" clause.
        
                    protected        string
    whereDay(Builder $query, array $where)
        
    
    Compile a "where day" clause.
        
                    protected        string
    whereMonth(Builder $query, array $where)
        
    
    Compile a "where month" clause.
        
                    protected        string
    whereYear(Builder $query, array $where)
        
    
    Compile a "where year" clause.
        
                    protected        string
    dateBasedWhere(string $type, Builder $query, array $where)
        
    
    Compile a date based where clause.
        
                    protected        string
    whereColumn(Builder $query, array $where)
        
    
    Compile a where clause comparing two columns.
        
                    protected        string
    whereNested(Builder $query, array $where)
        
    
    Compile a nested where clause.
        
                    protected        string
    whereSub(Builder $query, array $where)
        
    
    Compile a where condition with a sub-select.
        
                    protected        string
    whereExists(Builder $query, array $where)
        
    
    Compile a where exists clause.
        
                    protected        string
    whereNotExists(Builder $query, array $where)
        
    
    Compile a where exists clause.
        
                    protected        string
    whereRowValues(Builder $query, array $where)
        
    
    Compile a where row values condition.
        
                    protected        string
    whereJsonBoolean(Builder $query, array $where)
        
    
    Compile a "where JSON boolean" clause.
        
                    protected        string
    whereJsonContains(Builder $query, array $where)
        
    
    Compile a "where JSON contains" clause.
        
                    protected        string
    compileJsonContains(string $column, string $value)
        
    
    Compile a "JSON contains" statement into SQL.
        
                            string
    prepareBindingForJsonContains(mixed $binding)
        
    
    Prepare the binding for a "JSON contains" statement.
        
                    protected        string
    whereJsonContainsKey(Builder $query, array $where)
        
    
    Compile a "where JSON contains key" clause.
        
                    protected        string
    compileJsonContainsKey(string $column)
        
    
    Compile a "JSON contains key" statement into SQL.
        
                    protected        string
    whereJsonLength(Builder $query, array $where)
        
    
    Compile a "where JSON length" clause.
        
                    protected        string
    compileJsonLength(string $column, string $operator, string $value)
        
    
    Compile a "JSON length" statement into SQL.
        
                            string
    compileJsonValueCast(string $value)
        
    
    Compile a "JSON value cast" statement into SQL.
        
                            string
    whereFullText(Builder $query, array $where)
        
    
    Compile a "where fulltext" clause.
        
                    protected        string
    compileGroups(Builder $query, array $groups)
        
    
    Compile the "group by" portions of the query.
        
                    protected        string
    compileHavings(Builder $query)
        
    
    Compile the "having" portions of the query.
        
                    protected        string
    compileHaving(array $having)
        
    
    Compile a single having clause.
        
                    protected        string
    compileBasicHaving(array $having)
        
    
    Compile a basic having clause.
        
                    protected        string
    compileHavingBetween(array $having)
        
    
    Compile a "between" having clause.
        
                    protected        string
    compileHavingNull(array $having)
        
    
    Compile a having null clause.
        
                    protected        string
    compileHavingNotNull(array $having)
        
    
    Compile a having not null clause.
        
                    protected        string
    compileHavingBit(array $having)
        
    
    Compile a having clause involving a bit operator.
        
                    protected        string
    compileNestedHavings(array $having)
        
    
    Compile a nested having clause.
        
                    protected        string
    compileOrders(Builder $query, array $orders)
        
    
    Compile the "order by" portions of the query.
        
                    protected        array
    compileOrdersToArray(Builder $query, array $orders)
        
    
    Compile the query orders to an array.
        
                            string
    compileRandom(string|int $seed)
        
    
    Compile the random statement into SQL.
        
                    protected        string
    compileLimit(Builder $query, int $limit)
        
    
    Compile the "limit" portions of the query.
        
                    protected        string
    compileOffset(Builder $query, int $offset)
        
    
    Compile the "offset" portions of the query.
        
                    protected        string
    compileUnions(Builder $query)
        
    
    Compile the "union" queries attached to the main query.
        
                    protected        string
    compileUnion(array $union)
        
    
    Compile a single union statement.
        
                    protected        string
    wrapUnion(string $sql)
        
    
    Wrap a union subquery in parentheses.
        
                    protected        string
    compileUnionAggregate(Builder $query)
        
    
    Compile a union aggregate query into SQL.
        
                            string
    compileExists(Builder $query)
        
    
    Compile an exists statement into SQL.
        
                            string
    compileInsert(Builder $query, array $values)
        
    
    Compile an insert statement into SQL.
        
                            string
    compileInsertOrIgnore(Builder $query, array $values)
        
    
    Compile an insert ignore statement into SQL.
        
                            string
    compileInsertGetId(Builder $query, array $values, string $sequence)
        
    
    Compile an insert and get ID statement into SQL.
        
                            string
    compileInsertUsing(Builder $query, array $columns, string $sql)
        
    
    Compile an insert statement using a subquery into SQL.
        
                            string
    compileUpdate(Builder $query, array $values)
        
    
    Compile an update statement into SQL.
        
                    protected        string
    compileUpdateColumns(Builder $query, array $values)
        
    
    Compile the columns for an update statement.
        
                    protected        string
    compileUpdateWithoutJoins(Builder $query, string $table, string $columns, string $where)
        
    
    Compile an update statement without joins into SQL.
        
                    protected        string
    compileUpdateWithJoins(Builder $query, string $table, string $columns, string $where)
        
    
    Compile an update statement with joins into SQL.
        
                            string
    compileUpsert(Builder $query, array $values, array $uniqueBy, array $update)
        
    
    Compile an "upsert" statement into SQL.
        
                            array
    prepareBindingsForUpdate(array $bindings, array $values)
        
    
    Prepare the bindings for an update statement.
        
                            string
    compileDelete(Builder $query)
        
    
    Compile a delete statement into SQL.
        
                    protected        string
    compileDeleteWithoutJoins(Builder $query, string $table, string $where)
        
    
    Compile a delete statement without joins into SQL.
        
                    protected        string
    compileDeleteWithJoins(Builder $query, string $table, string $where)
        
    
    Compile a delete statement with joins into SQL.
        
                            array
    prepareBindingsForDelete(array $bindings)
        
    
    Prepare the bindings for a delete statement.
        
                            array
    compileTruncate(Builder $query)
        
    
    Compile a truncate table statement into SQL.
        
                    protected        string
    compileLock(Builder $query, bool|string $value)
        
    
    Compile the lock into SQL.
        
                            bool
    supportsSavepoints()
        
    
    Determine if the grammar supports savepoints.
        
                            string
    compileSavepoint(string $name)
        
    
    Compile the SQL statement to define a savepoint.
        
                            string
    compileSavepointRollBack(string $name)
        
    
    Compile the SQL statement to execute a savepoint rollback.
        
                    protected        string
    wrapJsonBooleanSelector(string $value)
        
    
    Wrap the given JSON selector for boolean values.
        
                    protected        string
    wrapJsonBooleanValue(string $value)
        
    
    Wrap the given JSON boolean value.
        
                    protected        string
    concatenate(array $segments)
        
    
    Concatenate an array of segments, removing empties.
        
                    protected        string
    removeLeadingBoolean(string $value)
        
    
    Remove the leading boolean from a statement.
        
                            array
    getOperators()
        
    
    Get the grammar specific operators.
        
                            array
    getBitwiseOperators()
        
    
    Get the grammar specific bitwise operators.
        
                    protected        string
    compileIndexHint(Builder $query, IndexHint $indexHint)
        
    
    Compile the index hints for the query.
        
                    protected        string
    compileHavingBitwise(array $having)
        
    
    Compile a having clause involving a bitwise operator.
        
                    protected        string
    compileAnsiOffset(Builder $query, array $components)
        
    
    Create a full ANSI offset clause for the query.
        
                    protected        string
    compileOver(string $orderings)
        
    
    Compile the over statement for a table expression.
        
                    protected        bool
    queryOrderContainsSubquery(Builder $query)
        
    
    Determine if the query's order by clauses contain a subquery.
        
                    protected        array
    sortBindingsForSubqueryOrderBy(Builder $query)
        
    
    Move the order bindings to be after the "select" statement to account for an order by subquery.
        
                    protected        string
    compileTableExpression(string $sql, Builder $query)
        
    
    Compile a common table expression for a query.
        
                    protected        string
    compileRowConstraint(Builder $query)
        
    
    Compile the limit / offset row constraint for a query.
        
                    protected        string
    wrapTableValuedFunction(string $table)
        
    
    Wrap a table in keyword identifiers.