MYSQL 查询帮助- Substring 和 Instring
MYSQL query help- Substring and Instring
我需要帮助编写查询以从 table 获取一些数据。我正在尝试编写一个查询,该查询将 select 所有名称中包含“bill”的书名,并将显示书名、书名长度以及后面的部分书名“账单”。我知道你应该使用 substring 和 instring 函数,但我一直在 运行 进入语法错误 and/or 不正确的输出
本书table如下
CREATE TABLE Book(
ISBN CHAR(13),
Title VARCHAR(70) NOT NULL,
Description VARCHAR(100),
Category INT,
Edition CHAR(30),
PublisherID INT NOT NULL,
constraint book_ISBN_pk PRIMARY KEY (ISBN),
constraint book_category_fk FOREIGN KEY (Category) REFERENCES Category(CatID),
constraint book_publisherID_fk FOREIGN KEY (PublisherID) REFERENCES Publisher(PublisherID)
);
这是标准 SQL 版本,afaik mysql 应该也支持这些功能:
select
Title
,char_length(Title)
,substring(Title from position('bill' in Title) + 4)
from book
where Title like '%bill%'
使用regexp进行匹配,如下:
select title from books where title regexp '*book*'
至于你应该使用什么,在我的书中,你只应该使用能获得预期结果的东西。如果有的话,稍后会进行优化。
使用 SUBSTRING
、LENGTH
和 INSTR
SELECT
Title,
LENGTH(Title) as Length,
SUBSTRING(Title,INSTR(Title, 'bill'),LENGTH(Title)-INSTR(Title, 'bill')) as Rest
FROM
Book
WHERE
Title like '%bill%'
我需要帮助编写查询以从 table 获取一些数据。我正在尝试编写一个查询,该查询将 select 所有名称中包含“bill”的书名,并将显示书名、书名长度以及后面的部分书名“账单”。我知道你应该使用 substring 和 instring 函数,但我一直在 运行 进入语法错误 and/or 不正确的输出
本书table如下
CREATE TABLE Book(
ISBN CHAR(13),
Title VARCHAR(70) NOT NULL,
Description VARCHAR(100),
Category INT,
Edition CHAR(30),
PublisherID INT NOT NULL,
constraint book_ISBN_pk PRIMARY KEY (ISBN),
constraint book_category_fk FOREIGN KEY (Category) REFERENCES Category(CatID),
constraint book_publisherID_fk FOREIGN KEY (PublisherID) REFERENCES Publisher(PublisherID)
);
这是标准 SQL 版本,afaik mysql 应该也支持这些功能:
select
Title
,char_length(Title)
,substring(Title from position('bill' in Title) + 4)
from book
where Title like '%bill%'
使用regexp进行匹配,如下:
select title from books where title regexp '*book*'
至于你应该使用什么,在我的书中,你只应该使用能获得预期结果的东西。如果有的话,稍后会进行优化。
使用 SUBSTRING
、LENGTH
和 INSTR
SELECT
Title,
LENGTH(Title) as Length,
SUBSTRING(Title,INSTR(Title, 'bill'),LENGTH(Title)-INSTR(Title, 'bill')) as Rest
FROM
Book
WHERE
Title like '%bill%'