Oracle запрос с НИЖНЕЙ - PullRequest
       6

Oracle запрос с НИЖНЕЙ

1 голос
/ 13 января 2011

Почему это возвращает 0 строк

SELECT GARTUSERID, USER_CODE, UNITID, RANKCODE, RANKID, FIO, LOGINNAME, 
       START_DATE, EXPIR_DATE, NOTE, POSITION, ISCHGPASSWORD, IS_EXPIRDATE,
       IS_BLOCKED, ROW_ID
  FROM ACONTROL.GARTUSERS
 WHERE LOWER(LOGINNAME)=LOWER(:LOGIN) AND ROW_ID=:MD5PSWD

, и это возвращает 1 строку (как я хотел для первого запроса)?

SELECT GARTUSERID, USER_CODE, UNITID, RANKCODE, RANKID, FIO, LOGINNAME,
       START_DATE, EXPIR_DATE, NOTE, POSITION, ISCHGPASSWORD, IS_EXPIRDATE,
       IS_BLOCKED, ROW_ID 
  FROM ACONTROL.GARTUSERS
 WHERE LOGINNAME=:LOGIN AND ROW_ID=:MD5PSWD

Ответы [ 2 ]

2 голосов
/ 13 января 2011

Может ли это быть конфликтом типов данных для LOGINNAME? Попробуйте использовать VARCHAR2, а не CHAR, поскольку он дополняет строку пробелами.

0 голосов
/ 30 января 2012

Вы можете использовать ключевое слово TRIM для удаления пробела, и, поскольку это тип varchar, используйте LIKE вместо '=' для сравнения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...