Sequence
extension Sequence
-
Returns a cursor over the concatenated results of mapping transform over self.
Declaration
-
Returns the concatenated SQLLiteral of this sequence of literals, inserting the given separator between each element.
let components: [SQLLiteral] = [ "UPDATE player", "SET name = \(name)", "WHERE id = \(id)" ] let query = components.joined(separator: " ")
Declaration
Swift
public func joined(separator: String = "") -> SQLLiteral
-
An SQL expression that checks the inclusion of an expression in a sequence.
// id IN (1,2,3) [1, 2, 3].contains(Column("id"))
Declaration
Swift
public func contains(_ element: SQLSpecificExpressible) -> SQLExpression
-
An SQL expression that checks the inclusion of an expression in a sequence.
// name IN ('A', 'B') COLLATE NOCASE ["A", "B"].contains(Column("name").collating(.nocase))
Declaration
Swift
public func contains(_ element: SQLCollatedExpression) -> SQLExpression
-
Returns an expression by joining all elements with an SQL logical operator.
For example:
// SELECT * FROM player // WHERE (registered // AND (score >= 1000) // AND (name IS NOT NULL)) let conditions = [ Column("registered"), Column("score") >= 1000, Column("name") != nil] Player.filter(conditions.joined(operator: .and))
When the sequence is empty,
joined(operator: .and)
returns true, andjoined(operator: .or)
returns false:// SELECT * FROM player WHERE 1 Player.filter([].joined(operator: .and)) // SELECT * FROM player WHERE 0 Player.filter([].joined(operator: .or))
Declaration
Swift
public func joined(operator: SQLLogicalBinaryOperator) -> SQLExpression