Sql server 2008 谁能给我解释一下下面的代码吗。
谁能帮我理解下面的代码。请帮助我如何工作,因为我是新的勒宁sql serverSql server 2008 谁能给我解释一下下面的代码吗。,sql-server-2008,Sql Server 2008,谁能帮我理解下面的代码。请帮助我如何工作,因为我是新的勒宁sql server WITH SearchTerms(Term) AS (SELECT ' I ' UNION ALL SELECT ' II ' UNION ALL SELECT ' III ' UNION All SELECT ' MD ' UNION All SELECT '
WITH SearchTerms(Term)
AS (SELECT ' I '
UNION ALL
SELECT ' II '
UNION ALL
SELECT ' III '
UNION All
SELECT ' MD '
UNION All
SELECT ' M.D '
UNION All
SELECT ' M.D. '
UNION All
SELECT ' D.O '
UNION All
SELECT ' D.O. '
UNION All
SELECT ' DO '
),
ToBeSearched(string)
AS (SELECT 'sjfhasjdg III do ')
SELECT string,
Term,
Charindex(Term, string) AS Location
FROM ToBeSearched
JOIN SearchTerms
ON Charindex(Term, string) > 0
此查询使用两个
公共表表达式
,然后使用内部联接
形成一个SELECT
语句
第一个公共表表达式(CTE)使用联合
为表创建一组结果
第二个CTE只包含一条记录和一列,其值为'sjfhasjdg III do'
查询末尾的SELECT
语句根据第二个CTE中的记录过滤出第一个CTE的结果
结果集将是:
string Term Location
sjfhasjdg III do III 10
sjfhasjdg III do DO 14
有关CTE的更多信息,请参见:
Tanq:-)我理解CTE。结果集依赖于排序规则。排序规则依赖意味着什么?