SQL Server中的FIND_IN_SET()等效项

Ogg*_*ggu 3 t-sql sql-server

SELECT * FROM users WHERE uid IN (SELECT doctors FROM MainPage WHERE Valid=1)
Run Code Online (Sandbox Code Playgroud)

users值为的表uid INT
Mainpagetabledoctors text1,2,3,4,5

当我运行上面的查询时,只得到1行,这对于uid = 1,但是我想要所有5行。因此在MySQL中,我使用了以下查询:

SELECT *
FROM users
JOIN MainPage ON FIND_IN_SET(uid, doctors)
WHERE Valid = 1;
Run Code Online (Sandbox Code Playgroud)

有效。我正在尝试在SQL Server中找到等效项FIND_IN_SET以实现相同的结果?

DVT*_*DVT 5

这可能有效

SELECT *
FROM users u
WHERE EXISTS (
    SELECT *
    FROM MainPage
    WHERE CONCAT(',',doctors,',') LIKE CONCAT('%,',u.uid,',%')
        AND Valid = 1
)
Run Code Online (Sandbox Code Playgroud)