我在试着把单位的状态。我的案子陈述有什么不对?我对SQL很陌生。
CASE WHEN [sStatus] LIKE '%Notice%'
THEN 'Notice'
ELSE
CASE WHEN [sStatus] LIKE '%Occupied%'
THEN 'Occupied'
ELSE
CASE WHEN [sStatus] LIKE '%Vacant%'
THEN 'Vacant'
ELSE [sStatus]
END as [Status]

谢谢!
发布于 2015-08-14 19:55:39
你的案例陈述没有结束。但是,它们不需要首先嵌套:
(CASE WHEN [sStatus] LIKE '%Notice%' THEN 'Notice'
WHEN [sStatus] LIKE '%Occupied%' THEN 'Occupied'
WHEN [sStatus] LIKE '%Vacant%' THEN 'Vacant'
ELSE [sStatus]
END) as [Status]而且,如果你只想要第一个词,你根本不需要一个case:
SUBSTRING(sStatus, CHARINDEX(' ', sStatus + ' '), LEN(sStatus))发布于 2015-08-14 19:54:41
您得到了错误,因为您有3个CASE语句,而只有一个结尾。
然而,根本没有必要嵌套这些案例陈述。您可以简单地这样做:
CASE
WHEN [sStatus] LIKE '%Notice%'
THEN 'Notice'
WHEN [sStatus] LIKE '%Occupied%'
THEN 'Occupied'
WHEN [sStatus] LIKE '%Vacant%'
THEN 'Vacant'
ELSE [sStatus]
END as [Status]发布于 2015-08-14 19:58:47
CASE WHEN [sStatus] LIKE '%Notice%' THEN 'Notice'
WHEN [sStatus] LIKE '%Occupied%' THEN 'Occupied'
WHEN [sStatus] LIKE '%Vacant%' THEN 'Vacant'
ELSE [sStatus] END as Status你不需要其他的
https://stackoverflow.com/questions/32017702
复制相似问题