Sql server 将查询从Postgresql转换为SQL Server

Sql server 将查询从Postgresql转换为SQL Server,sql-server,postgresql,Sql Server,Postgresql,我在Postgresql中有一个查询 WITH RECURSIVE transitive_closure(a, b, distance, path_string) AS ( SELECT a, b, 1 AS distance, a || '.' || b || '.' AS path_string FROM edges2 UNION ALL SELECT tc.a, e.b, tc.distance + 1, tc.path_string |

我在Postgresql中有一个查询

WITH RECURSIVE transitive_closure(a, b, distance, path_string)
AS
( SELECT a, b, 1 AS distance,
         a || '.' || b || '.' AS path_string
  FROM edges2

  UNION ALL

  SELECT tc.a, e.b, tc.distance + 1,
         tc.path_string || e.b || '.' AS path_string
  FROM edges2 AS e
  JOIN transitive_closure AS tc ON e.a = tc.b
 WHERE tc.path_string NOT LIKE '%' || e.b || '.%'
)
SELECT a, b, min(distance) AS dist FROM transitive_closure
WHERE a = 1 
GROUP BY a, b
ORDER BY a, dist, b;

我想将其转换为SQL Server,是否有任何工具或有人可以为我转换它?

recursive
不是SQL Server中的关键字。您可以删除它,默认情况下,SQL Server中带有的
是递归的

在SQL Server中,可以添加如下字符串:

'Hello ' + 'World'
因此,将
|
替换为
+

是的,该工具称为您的大脑-阅读SQL Server如何执行查询(确切语法),然后转换查询。