SQL 表达式导致 ORA 00936 缺少表达式错误
SQL expression cause ORA 00936 Missing Expression Error
我正在尝试在 ssas 项目中添加一个命名计算字段,以下表达式适用于 sql 服务器数据源,不适用于 oracle 数据源:
convert(datetime,convert(date,DATE_HR_INSC),110)
谢谢!
此 SQL 服务器代码的第一个内部步骤是将 DATE_HR_INSC
转换为日期。然后,将其转换为格式掩码 110
的日期时间。我不确定这是否有意义,相反我希望看到以下内容:
CONVERT(varchar, CONVERT(date, DATE_HR_INSC), 110)
这会生成格式为 mm-dd-yyyy
的日期时间。我们可以尝试使用 TO_DATE
和 TO_CHAR
函数在 Oracle 中对此进行近似。像这样:
TO_CHAR(TO_DATE(DATE_HR_INSC, 'yyyy-mm-dd'), 'mm-dd-yyyy')
这假设 DATE_HR_INSC
是 yyyy-mm-dd
格式。如果它的格式是其他格式,则替换上面对 TO_DATE
的调用中使用的掩码。
我猜您想使用格式 110 将日期值转换为字符串,这表示 mm-dd-yyyy (12-30-2019)。
在oracle中的实现方式是:
to_char(date,'mm-dd-yyyy')
我正在尝试在 ssas 项目中添加一个命名计算字段,以下表达式适用于 sql 服务器数据源,不适用于 oracle 数据源:
convert(datetime,convert(date,DATE_HR_INSC),110)
谢谢!
此 SQL 服务器代码的第一个内部步骤是将 DATE_HR_INSC
转换为日期。然后,将其转换为格式掩码 110
的日期时间。我不确定这是否有意义,相反我希望看到以下内容:
CONVERT(varchar, CONVERT(date, DATE_HR_INSC), 110)
这会生成格式为 mm-dd-yyyy
的日期时间。我们可以尝试使用 TO_DATE
和 TO_CHAR
函数在 Oracle 中对此进行近似。像这样:
TO_CHAR(TO_DATE(DATE_HR_INSC, 'yyyy-mm-dd'), 'mm-dd-yyyy')
这假设 DATE_HR_INSC
是 yyyy-mm-dd
格式。如果它的格式是其他格式,则替换上面对 TO_DATE
的调用中使用的掩码。
我猜您想使用格式 110 将日期值转换为字符串,这表示 mm-dd-yyyy (12-30-2019)。
在oracle中的实现方式是:
to_char(date,'mm-dd-yyyy')