如何创建姓氏以';开头的oracle视图;S'';?
我正在尝试创建一个视图,该视图允许我根据以下内容选择姓氏以“S”开头的所有用户:如何创建姓氏以';开头的oracle视图;S'';?,oracle,Oracle,我正在尝试创建一个视图,该视图允许我根据以下内容选择姓氏以“S”开头的所有用户: CREATE TABLE cteam_Users( UserLastName VARCHAR2(50) NOT NULL, ); INSERT INTO cteam_Users ( UserLastName,) VALUES ('Sam'); INSERT INTO cteam_Users ( UserLastName,) VALUES ('Tam');
CREATE TABLE cteam_Users(
UserLastName VARCHAR2(50) NOT NULL,
);
INSERT INTO cteam_Users
( UserLastName,)
VALUES ('Sam');
INSERT INTO cteam_Users
( UserLastName,)
VALUES ('Tam');
Create view cteam_V1 As
SELECT UserLastName From cteam_Users
Where UserLastName = 's%';
SELECT * FROM cteam_V1;
Create view cteam_V1 As
SELECT UserLastName From cteam_Users
Where lower(UserLastName) like 's%';
您需要使用
like
操作符,如下所示:
CREATE TABLE cteam_Users(
UserLastName VARCHAR2(50) NOT NULL,
);
INSERT INTO cteam_Users
( UserLastName,)
VALUES ('Sam');
INSERT INTO cteam_Users
( UserLastName,)
VALUES ('Tam');
Create view cteam_V1 As
SELECT UserLastName From cteam_Users
Where UserLastName = 's%';
SELECT * FROM cteam_V1;
Create view cteam_V1 As
SELECT UserLastName From cteam_Users
Where lower(UserLastName) like 's%';
我使用了
lower
函数进行不区分大小写的匹配。这将防止在UserLastName被索引时使用索引(除非它是FBI),并且在您使用exadata时可能会阻止卸载到存储单元(我对lower
尤其不确定,但一些本机sql函数不会像所有pl/sql一样被卸载)请不要通过破坏您的帖子来为其他人做更多的工作。通过在Stack Exchange网络上发布,您已经在下授予了Stack Exchange分发该内容的不可撤销的权利(即,无论您未来的选择如何)。根据堆栈交换策略,发布的是非故意破坏版本的帖子。因此,任何故意破坏行为都将恢复。如果您想了解有关删除帖子的更多信息,请参阅: