【发布时间】:2015-04-10 17:52:06
【问题描述】:
我只是想知道是否可以编写一个 SQL 语句,该语句可以按列选择包含以字母开头的字符的行
说我有桌子
CREATE TABLE data (
d_idno SERIAL PRIMARY KEY,
d_idch CHAR(3) NOT NULL,
d_desc CHAR(25) NOT NULL
);
里面有以下数据
INSERT INTO data (d_idch, d_desc)
VALUES('BLK', 'black item'),
('PNK', 'pink item'),
('GRN', 'green item'),
('BLU', 'blue item'),
('CYA', 'cyan item');
我想按照以下方式执行一条 SQL 语句
SELECT * FROM data
WHERE d_idch > 'BL' # I'd like to find a way to replace this line
ORDER BY d_idch
这当然是错误的,但我想在按字母顺序排列时选择包含字符“BL”的行之后的每一行
【问题讨论】:
-
为什么错了?这将选择具有 'BL' 和更大的每一行。
-
是的,但我希望它不包含具有 BL 的行,我希望行包含字母表后面的前两个字符
-
最好不要使用 WHERE d_idch > 'BM'
标签: sql postgresql select alphabetical