2015-10-03 2 views
1

Я новичок в базах данных и PHP. В моем коде я пытаюсь создать таблицу из PHP-скрипта. Вот что у меня есть.Как Command не работает Oracle SQL

create table booktable(BookID INT PRIMARY KEY, 
        BookName VARCHAR(100), 
        Published DATE, 
        Price NUMBER(18,2), 
        Author1 VARCHAR2(30), 
        Author2 VARCHAR2(30)); 

INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (1, 'Fundamentals of Digital Logic with VHDL Design','14-APR-08', 190.25,'Stephen Brown','Zvon Ko G.Vranesic'); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (2, 'Distributed Systems Principles and Paradigm','26-JUL-13', 197.80,'Andrew S. Tanenbaum','Maarten Van Steen'); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (3, 'Eat Real Food The Only Solution to Permanent weight Loss and Disease Prevention','1-APR-15', 29.99,'David Gillespie',''); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (4, 'Introduction to Computational Science Modeling and Simulation for the sciences','2-MAY-06', 132.75,'Angela B.Shiflet','George W. Shiflet'); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (5, 'Live Well on Less A Practical Guide to Running a Lean Household','27-MAY-15', 19.00,'Jody Allen',''); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (6, 'Middle School: Just My Rotten Luck','1-JUL-15', 15.99,'James Patterson',''); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (7, 'Clementine Rose and the Birthday Emergency','1-JUL-15', 12.99,'Jacqueline Harvey',''); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (8, 'My Life It''s a long story','26-MAY-15', 32.99,'Willie Nelson',''); 
INSERT INTO booktable (BookID, BookName, Published, Price, Author1, Author2) 
VALUES (9, 'Sword of Summer Magnus Chase','7-OCT-15', 15.99,'Rick Riordan',''); 

таблица создана успешно, но когда я пытаюсь выполнить запрос

`SQL> select * 
     from booktable 
     where bookname like '%my%';` 

Это говорит не выбрано ни одной строки. Я не могу понять, где я поступаю неправильно. Благодарю.

ответ

2

@alfasin прав. Вы также можете снизить, чтобы достичь того, что вы пытаетесь сделать

select * from booktable where lower(bookname) like '%my%'; 
+0

Спасибо, это именно то, что я искал. –

1

Это потому, что он чувствителен к регистру, и у вас есть My, содержащийся в некоторых полях - не my.

Попробуйте вместо этого:

select * 
from booktable 
where bookname like '%My%'; 
+0

Спасибо. Ах, как я мог это пропустить, это неловко. Не могли бы вы узнать, как сделать сравнение без учета регистра? –

+0

@Blacq_Shadow Этот второй вопрос уже ответил MGM, вы можете использовать 'lower()' или 'upper()' для сравнения с нижним регистром или верхним регистром. – alfasin

Смежные вопросы