语句不起作用的T-SQL

时间:2016-07-11 01:29:53

标签: sql-server tsql where

我在以下表结构中得到以下查询:

select * 
from [dbo].[Interpurchase_Intervals_1] 
where client_id = '24' 

表格结构:

Client_ID nvarchar(10, null)  
Customer_ID nvarchar(max, null) 
Gradient decimal ((18,5), null)

查询:

select distinct [Client_ID] 
from [dbo].[Interpurchase_Intervals_1]

返回:

 Client_ID
 ----------
 13   
 24   
  8

查询:

select * 
from [dbo].[Interpurchase_Intervals_1]

返回:

 classification   Client_ID 
 ----------------------------
      1              24
      2              24
      1              13

但是,当我运行此查询时:

select * 
from [dbo].[Interpurchase_Intervals_1] 
where client_id = '24' 

我得到一个空的结果集。

我不明白为什么通过client_id = '24'过滤数据会在返回时返回一个空数据集:

 classification Client_ID 
 ------------------------
    1             24
    2             24

1 个答案:

答案 0 :(得分:0)

如果Client_ID列中有不需要的空格,最好的办法就是删除它。如果你不能这样做,那么在你的查询中处理它的一个选项是修剪它:

SELECT *
FROM [dbo].[Interpurchase_Intervals_1]
WHERE LTRIM(RTRIM(client_id)) = '24'