首页 > 解决方案 > 是否有一个 SQLite 函数只返回一个子字符串/部分值

问题描述

对于以下查询

名单

name
Thisismy/$name
Thisisalsomy/$name
Thisisnotmy/$name


SELECT name from namelist;

返回

Thisismy/$name
Thisisalsomy/$name
Thisisnotmy/$name

我怎样才能将回报限制在 /

IE:

Thisismy
Thisisalsomy
Thisisnotmy

标签: sqlite

解决方案


您可以使用一些 sqlite核心功能来做到这一点:

sqlite> select substr('Thisisalsomy/$name',0,instr('Thisisalsomy/$name','/'));
Thisisalsomy

所以

SELECT substr(name,0,instr(name,'/')) from namelist;

测试如下:

sqlite> create table namelist (name);
sqlite> insert into namelist values ('Thisismy/$name'),('Thisisalsomy/$name'),('Thisisnotmy/$name');
sqlite> SELECT name from namelist;
Thisismy/$name
Thisisalsomy/$name
Thisisnotmy/$name
sqlite> SELECT substr(name,0,instr(name,'/')) from namelist;
Thisismy
Thisisalsomy
Thisisnotmy
sqlite> 

推荐阅读