我试图回答一个关于堆栈溢出的问题,我想测试这个答案,看看它是否正确。不过,我没有Oracle,所以我使用的是sqlfiddle.com。
以下是查询:http://sqlfiddle.com/#!4/b18a2/11。
我在哪里能看到结果?结果应该是'1‘(员工1)。
发布于 2012-11-05 09:17:21
您可以在屏幕的下部看到结果。但是,查询不返回任何记录(您已经创建了表,但没有插入任何数据),因此没有显示结果

发布于 2012-11-05 09:23:30
除了Sathya的回答之外,您的查询还有几处问题。
%签名,这个查询确实可以从员工中选择员工,比如'%‘、’%‘、’%‘等电子邮件;char(25)更改为varchar(25) (我认为使用char(25) ),用空格填充数据类型,这样类似的比较就不匹配了。这种类型的事情总是取决于数据。你说得对,有一个词的名字有点怪。要解决这个问题,您需要更改查询以拆分期间的电子邮件地址。
因此,您的插入将是:
Insert into employees (Employee, Name, Email)
Values (1, 'joe bloggs','joe.bloggs@somewhere.com');你的选择是:
Select Employee
From Employees
Where Replace(email, '.' ,' ') like '%' || name || '%';很明显,这意味着名字只能是FirstName{space}LastName格式的,电子邮件地址必须是FirstName{dot}LastName@whatever.com格式的。
除非你100%确信数据总是以指定的格式显示,否则我会谨慎地做任何这样的事情。
https://webapps.stackexchange.com/questions/34124
复制相似问题