SQL Query issue wrong result

Hi
I faced a strange issue in one of SQL query. is there any explanation of it?
I had a query as below as per row data there’s a reason “F1784: ROB Collecting centering not closed 1LK E2_E3”
but in result reason appeared as “F1784: ROB ?ollecting centering not closed 1LK E2_E3”
?Collecting instead of Collecting …

declare @top10 table (Duration real, Reason varchar(400)  )
insert into @top10  (Duration , Reason ) 
select 
duration/60.0 as Duration,
CASE WHEN spare2 <> 'NULL'   THEN spare2 End AS [Reason] --util_reas.reas_desc else END AS--  

from util_log  WITH (NOLOCK)
	--INNER JOIN util_reas util_reas ON ul.reas_cd = util_reas.reas_cd

where ent_id = 147 and 
event_time_local >= '2021-01-15 15:09:00.000' and event_time_local <= '2021-01-15 19:41:00.000'
and ((state_cd = 0  ) or  (spare4 = 0 ) or 
(state_cd = 11  ) or  (spare4 = 11 ) or
(state_cd = 12  ) or  (spare4 = 12 ) or
(state_cd = 13  ) or  (spare4 = 13 ) or
(state_cd = 17  ) or  (spare4 = 17 ) or
(state_cd = 18  ) or  (spare4 = 18 ) or
(state_cd = 19  ) or  (spare4 = 19 ) )
--and util_reas.reas_desc <> 'PLC Communication Failed'  
and spare4 <>  6    order by log_id desc

 select Reason,  sum(Duration) as Duration  from @top10  group by Reason order by Duration desc
1 Like

Sounds like your data has special characters in it that aren’t recognised. Try cleaning the result

Solved change varchar to nvarchar