如何用PostgreSQL语法编写以下MySQL查询:
SELECT CONCAT(REPEAT(" ", (COUNT(parent.name) - 1)), cat.name) AS name
提前致谢!
答案 0 :(得分:3)
这里的错误是PostgreSQL不允许双引号"
用于文字字符串(根据SQL标准)。您需要使用单引号'
。
您还需要使用(COUNT(parent.name) - 1)
(特定于Postgre)或::int
将CAST(... AS int)
转换为整数。
请注意,如果integer out of range
优于2147483647,则可能会引发(COUNT(parent.name) - 1)
错误。
SELECT CONCAT(REPEAT(' ', (COUNT(parent.name) - 1)::int), cat.name) AS name
请注意,您还可以使用||
进行字符串连接:
SELECT REPEAT(' ', (COUNT(parent.name) - 1)::int) || cat.name AS name
答案 1 :(得分:1)
SELECT REPEAT(" ", (COUNT(parent.name) - 1)) || cat.name AS name