'NOT LIKE' in an SQL query

后端 未结 4 428
青春惊慌失措
青春惊慌失措 2021-02-02 08:42

Why does this simple query return \'ORA-00936: missing expression\' (the database is Oracle as you can tell):

SELECT * FROM transactions WHERE id NOT LIKE \'1%\'         


        
相关标签:
4条回答
  • 2021-02-02 09:27

    You need to specify the column in both expressions.

    SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
    
    0 讨论(0)
  • 2021-02-02 09:29

    After "AND" and after "OR" the QUERY has forgotten what it is all about.

    I would also not know that it is about in any SQL / programming language.

    if(SOMETHING equals "X" or SOMETHING equals "Y")

    COLUMN NOT LIKE "A%" AND COLUMN NOT LIKE "B%"

    0 讨论(0)
  • 2021-02-02 09:32

    You have missed out the field name id in the second NOT LIKE. Try:

    SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
    

    The AND in the where clause joins 2 full condition expressions such as id NOT LIKE '1%' and can't be used to list multiple values that the id is 'not like'.

    0 讨论(0)
  • 2021-02-02 09:37

    You've missed the id out before the NOT; it needs to be specified.

    SELECT * FROM transactions WHERE id NOT LIKE '1%' AND id NOT LIKE '2%'
    
    0 讨论(0)
提交回复
热议问题