T-SQL where 语句不起作用

T-SQL where statement not working

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

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

Table结构:

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

查询:

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

Returns:

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

查询:

select * 
from [dbo].[Interpurchase_Intervals_1]

returns:

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

但是,当我 运行 这个查询时:

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

我得到一个空的结果集。

我不明白为什么要通过 client_id = '24' return 过滤数据 return:

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

如果 Client_ID 列中有不需要的空格,最好的办法是将其删除。如果您不能这样做,那么在您的查询中处理它的一种选择是 trim 将其移除:

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