首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我是否可以将“类似”和“相等”组合起来获取数据?

我是否可以将“类似”和“相等”组合起来获取数据?
EN

Stack Overflow用户
提问于 2018-06-28 02:09:27
回答 4查看 93关注 0票数 1

我有这样的数据

代码语言:javascript
复制
1234500010
1234500020
1234500021
12345600010
12345600011
123456700010
123456700020
123456710010

模式是1-数据(varian 3-7位数)+2-数据(任意3位数)+3-数据(任意2位数)。

我想要创建SQL来获取1-数据。例如,我想获得数据12345,我只想要结果。

代码语言:javascript
复制
1234500010
1234500020
1234500021

如果我用“喜欢”,

代码语言:javascript
复制
select *
FROM data
where ID like '12345%' `

我将使用123451234561234567获取所有数据。

如果使用equal,我只会得到一个特定的数据。

我能把喜欢和平等结合在一起,得到我想要的结果吗?

从数据= '12345 +任意2-数据(3位)+任意3-数据(2位)的数据中选择*

有人能帮忙吗?

补充:对不起,如果我没有提到数据类型,并造成一些沟通失误。数据类型为char。@戈登回答说,其他人没有错。它适用于数字和varchar。但不适用于焦炭型。在这里,我发布了一些char数据类型的图片。Oracle对char数据类型的规范是一个固定的长度。所以如果我输入的不够长,它的剩余部分就会变成一个空间。

非常感谢。希望有人能帮上忙

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2018-06-28 04:58:06

因为您的数据类型是CHAR,所以Gordon的答案对您不起作用。CHAR为小于最大限制的字符串添加了尾随空格。您可以使用TRIM来修复这个问题,如下所示。但是,最好是将编号存储在NUMBER类型中,而不是 CHARVARCHAR2,这迟早会造成其他问题。

代码语言:javascript
复制
select *
from data
where trim(ID) like '12345_____';
票数 1
EN

Stack Overflow用户

发布于 2018-06-28 02:11:25

我想你想:

代码语言:javascript
复制
select *
from data
where ID like '12345_____'  -- exactly 5 _

下面是一个演示答案的雷克斯试验器

票数 1
EN

Stack Overflow用户

发布于 2018-06-28 03:11:59

我认为这给了你你想要的解决方案,

代码语言:javascript
复制
create table data(ID number(15));

insert into data values(1234500010);

insert into data values(1234500020);

insert into data values(1234500021);

insert into data values(12345600010);

insert into data values(12345600011);

insert into data values(123456700010);

insert into data values(123456700020);

insert into data values(123456710010);

从ID喜欢'12345_____'的数据中选择*

//在5_下划线之后正好是5,来自2-数据的任意3位数字(3下划线)和2位数字来自3-数据(2下划线)

您将得到(输出):

ID

1234500010

1234500020

1234500021

3行在0.00秒内返回

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51073713

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档