select SYSDATETIMEOFFSET()
GO
select CASE CONVERT(VARCHAR(12),'2232') + ',' WHEN '2232,321,' THEN '1' ELSE '0' END -- (1)
GO
select SYSDATETIMEOFFSET()
GO
select CASE CHARINDEX(',', '6769,321,') WHEN LEN('6769,321,') THEN '1' ELSE '0' END -- (2)
GO
select SYSDATETIMEOFFSET()
GO这样的写法适合用来比较(1)、(2)两种算法的优劣吗?
注: (1)中,WHEN 左侧数据为 字段ID 组成 'ID' + ',' 右侧数据为 以 ID+',' 开头的字段值
(2)中,WHEN 左侧, 右侧数据都为 以 ID+',' 开头的同一字段或者还有没有更好的比较方式?
GO
select CASE CONVERT(VARCHAR(12),'2232') + ',' WHEN '2232,321,' THEN '1' ELSE '0' END -- (1)
GO
select SYSDATETIMEOFFSET()
GO
select CASE CHARINDEX(',', '6769,321,') WHEN LEN('6769,321,') THEN '1' ELSE '0' END -- (2)
GO
select SYSDATETIMEOFFSET()
GO这样的写法适合用来比较(1)、(2)两种算法的优劣吗?
注: (1)中,WHEN 左侧数据为 字段ID 组成 'ID' + ',' 右侧数据为 以 ID+',' 开头的字段值
(2)中,WHEN 左侧, 右侧数据都为 以 ID+',' 开头的同一字段或者还有没有更好的比较方式?
不过还是得看实际应用的状况。