首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL显示无效数据

SQL显示无效数据
EN

Stack Overflow用户
提问于 2016-08-11 18:28:45
回答 1查看 71关注 0票数 0
代码语言:javascript
复制
t0212_1   t0212_2
884999999 GCP-9     Company A
8849999   GCP-7     Company B

@val = 884999999 

下面是我的问题:

代码语言:javascript
复制
Select * Company
WHERE t0212_1= (LEFT(CONVERT(BIGINT,@val),convert(int,substring('GCP-9',5,2)))) OR
      t0212_1= LEFT(CONVERT(BIGINT,@val),convert(int,substring('GCP-7',5,2))) 

当我搜索8849999,8849999个节目时(这是对的)。

当我搜索884999999个节目时,有884999999个节目(这是对的)和8849999个节目(错误)。

怎么办,请帮帮忙

谢谢,如果你不明白我的简短解释,你可以向我核实。

EN

回答 1

Stack Overflow用户

发布于 2016-08-11 18:57:57

您的筛选条件为输入中的7或9个字符(DECLARE @val INT = 884999999),应与列(t0212_1)值匹配。

根据您的筛选器,您将获得两条记录,因为这两条记录与您的筛选器匹配。

您可以使用此SQL

代码语言:javascript
复制
SELECT *
FROM @Company
WHERE t0212_1 = (LEFT(CONVERT(BIGINT, @val), convert(INT, substring(t0212_2, 5, 2))))
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38893781

复制
相关文章

相似问题

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