以下是我用来解析字段
中某些用户名的查询SELECT SUBSTRING(UserName, CHARINDEX('^', UserName) + Len('^'),LEN(UserName) as un,
FROM (
SELECT TOP 10000 *
FROM SomeTable
ORDER BY LocalDateTime DESC
)
问题是没有^
的用户名是无关紧要的,我不想包含它们。我怎样才能做到这一点?例如,如果我有以下数据:
system1^name1
system2^name2
system3^name2
name3
我会收到这些结果:
name1
name2
注意:我不想修改内部查询。
答案 0 :(得分:1)
我认为您只需在子查询或外部查询中添加条件:
SELECT SUBSTRING(UserName, CHARINDEX('^', UserName) + Len('^'), LEN(UserName) as un
FROM (SELECT TOP 10000 *
FROM SomeTable
ORDER BY LocalDateTime DESC
) t
WHERE UserName LIKE '%^%'