如何在LiveOracleSQL数据库中查找大写字母



我创建了一个包含客户名称、客户电子邮件和他们的主要ID的表。

CREATE TABLE Customer 
( 
custID NUMBER(6),
custName VARCHAR2(30),
custEmail VARCHAR2(50),
PRIMARY KEY (custID) 
);

INSERT INTO customer (custID, custName, custEmail) VALUES (1, 'D.Smith', 'dsmith@yahoo.co.uk'); 
INSERT INTO customer (custID, custName, custEmail) VALUES (2, 'B.Byrne', 'bb@gmail.com'); 
INSERT INTO customer (custID, custName, custEmail) VALUES (3, 'X.Dobbs', 'xb@gmail.com');

如何选择以特定大写字母开头的客户名称?

如果您正在寻找名称以大写X开头的客户,那么

SELECT *
FROM customers 
WHERE first_name like 'X%';

如果字母可以出现在他们名字的任何地方,那么

SELECT *
FROM customers 
WHERE first_name like '%X%';

正如其他答案所指出的,您必须使用LIKE运算符。

一般语法为SELECT X FROM Y WHERE X LIKE QUERY_PATTERN

该模式是使用通配符编写的。

  1. %A:任何以大写字母A结尾的值
  2. A%:任何以大写字母A开头的值
  3. %A%:任何至少包含一个大写字母A的值
  4. _A:任何正好有2个字符的值。第二个是大写字母A
  5. __A:任何正好有3个字符的值。第三个是大写字母A

这是在LIKE子句中使用通配符的一般概念。

您可以使用INSTR函数而不是LIKE:

SELECT * FROM Customer WHERE INSTR(custName, 'X') > 0;

演示:https://dbfiddle.uk/?rdbms=oracle_11.2&fiddle=ee86f44dbce13a743c3b5ff8821a42b

你试过吗

SELECT *
FROM customers 
WHERE first_name LIKE 'R%';

最新更新