SQL GROUP BY,ORDER BY查询返回语法错误

时间:2019-01-10 21:03:04

标签: sql node.js

以下SQL代码无法正确传递到我的后端代码。

此SQL代码在Postico中可以正常工作,但是在后端调用它时,它不能工作,只能提供从我的终端粘贴的结果。

with testdata as (
  select 'MI ROOFING LLC' bizname from dual 
  union all select 'LAKESHORE LLC NILES MI' from dual 
  union all select 'MIDLAND WILLCOX' from dual
)
select bizname, 
  regexp_replace(initcap(bizname),'((^|\W)(Mi|Llc)($|\W))',upper('<x>\1<y>')) bizname1,
  regexp_replace(initcap(bizname),'((^|\W)(Mi|Llc)($|\W))',
  upper(regexp_substr(initcap(bizname),'(^|\W)(Mi|Llc)($|\W)'))) bizname1_workaround
from testdata;

BIZNAME                  BIZNAME1                           BIZNAME1_WORKAROUND 
----------------------  ----------------------------------  -----------------------
MI ROOFING LLC          <X>Mi <Y>Roofing<X> Llc<Y>          MI RoofingMI
LAKESHORE LLC NILES MI  Lakeshore<X> Llc <Y>Niles<X> Mi<Y>  Lakeshore LLC Niles  LLC                                                                                                                   
MIDLAND WILLCOX         Midland Willcox                     Midland Willcox

3 rows selected.

2 个答案:

答案 0 :(得分:1)

正如其他人所说:问题很可能是分号。

一条SQL语句不需要(也永远不需要)由语句终止符终止。

仅当有可能用SQL编写整个脚本和/或过程时,才需要使用语句终止符。因此,如果在用SQL编写 整个过程 时,则必须使用分号来终止语句(原因是 < em> parser 可以区分一个陈述和另一个陈述)。如果并且当您仅发布单个语句以执行时,那么就没有“将一个语句与另一个语句区分开”,并且终止分号是多余的,并且如果您确实使用这些语句,那么在这种情况下,大多数语句处理程序实际上都会失败。

答案 1 :(得分:0)

您应该尝试删除结尾的分号from pyrevit import script from pyrevit.framework import List from pyrevit.framework import clr from pyrevit import revit, DB clr.AddReference("RevitServices") import RevitServices from RevitServices.Persistence import DocumentManager doc = DocumentManager.Instance.CurrentDBDocument clr.AddReference("RevitNodes") import Revit clr.ImportExtensions(Revit.Elements) clr.ImportExtensions(Revit.GeometryConversion) clr.AddReference("RevitAPI") from Autodesk.Revit.DB import * groups = FilteredElementCollector(doc).OfCategory(BuiltInCategory.OST_IOSModelGroups).WhereElementIsNotElementType().ToElements() selection = revit.get_selection() SelectionIds = [] for group in groups: name = group.Name if "(members excluded)" in name: SelectionIds.append(group.Id) selection.set_to(SelectionIds)