2013-11-30 3 views
2

Я хотел бы знать, что представляет собой различие между предложением «in» и оракулом «like» в контрольном ограничении.oracle check constraint "in" clause и "like" item

здесь пример кода для «в» п

ALTER TABLE EXPREPORT 
ADD CONSTRAINT EXPREPORT_CHK1 CHECK 
(EXPREPSTATUS IN ('PENDING', 'APPROVED', 'DENIED')) 
ENABLE; 

здесь пример кода для «как» п

ALTER TABLE EXPENSEREPORT 
ADD CONSTRAINT EXPENSEREPORT_CHK1 CHECK 
(EXPREPSTATUS LIKE 'APPROVED' OR EXPREPSTATUS LIKE 'DENIED' OR EXPREPSTATUS LIKE 'PENDING') 
ENABLE; 

есть какая-то разница между этими двумя п?

+1

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

ответ

0

Значение столбца LIKE похоже на заданный символ (символы).

Значение столбца IN равно любому из заданного набора значений.

Click Here для получения дополнительной информации о предложениях LIKE и IN.

+0

В общем, да, 'like' и' in' условия разные, но способ OP их использует ('like' без подстановочных знаков, равных' = 'operator) в его/ее примере, нет никакой разницы между этими два заявления. –

+0

Я дал одну ссылку. u получит подробную информацию здесь. Можете ли вы обратиться к этому учебнику. Если все еще у вас есть сомнения, это очистит его. – KethanKumar

+0

спасибо за объяснение и ссылку – user3051767