how to search for exact string in mysql

后端 未结 5 1973
一整个雨季
一整个雨季 2020-12-08 22:36

I\'m trying to search for an exact match of a string in mysql. The string is \'nrew\'. But when I do the queries below, I still get a result:

SELECT UserID F         


        
相关标签:
5条回答
  • 2020-12-08 23:07
    SELECT UserID FROM sys_users WHERE BINARY UserID='NREW'
    
    0 讨论(0)
  • 2020-12-08 23:16

    One method is to use LIKE BINARY instead of =:

    SELECT UserID FROM sys_users WHERE UserID LIKE BINARY 'nrew';
    
    0 讨论(0)
  • 2020-12-08 23:18

    The default collation which MySQL uses to make comparisons is case insensitive. You need to specify a case sensitive collation or binary. You can either do this when creating the column, or in the query.

    For example:

    SELECT UserID FROM sys_users WHERE UserID='NREW' COLLATE latin1_bin
    

    The proper collation depends on your character set. For latin1, the default, you can use latin1_bin. For utf8, utf8_bin.

    0 讨论(0)
  • 2020-12-08 23:19

    You can use keyword Binary,

    SELECT UserID FROM sys_users WHERE BINARY UserID='nrew'
    

    refer to here

    0 讨论(0)
  • 2020-12-08 23:24

    Give this is try: http://www.devx.com/tips/Tip/13043

    Select UserID from sys_users where convert(varbinary, UserID) = convert(varbinary, 'NREW') 
    

    Or try COLLATE

    http://aspadvice.com/blogs/ssmith/archive/2007/09/30/Case-Sensitive-or-Insensitive-SQL-Query.aspx

    0 讨论(0)
提交回复
热议问题