Home > Back-end >  How to select a thing that starts with X letter?
How to select a thing that starts with X letter?

Time:11-21

Alright, so basically, i have a table structured like this

ActorID Name Surname Birthdate Website

(with some data in it, of course)

And i want to select an actor depending on what their last name starts with. So i know the SQL Request should be

SELECT ActorID FROM Actors WHERE Name LIKE '{Letter}%'

However, i want to do it with sqlite3 in python, and when i write it this way:

 cur.execute("""
                    SELECT name, surname FROM acteurs WHERE name LIKE '?%';
                
                    """,firstletter)
actors = cur.fetchall()
        

I get a syntax error "sqlite3.OperationalError: near ";": syntax error"

How should i modify it to make it work ? Thanks in advance

CodePudding user response:

The ? placeholder must not be inside the single quotes.
The % wildcard must be concatenated to the ? placeholder.
Also, you must pass firstletter as a member of a tuple:

cur.execute("SELECT name, surname FROM acteurs WHERE name LIKE ? || '%'", (firstletter,))
  • Related