SQL表达式导致ORA 00936缺少表达式错误

时间:2019-03-06 14:19:06

标签: sql-server oracle ssas odac

我正在尝试在ssas项目中添加一个命名计算字段,以下表达式适用于sql server数据源,而不适用于oracle:

convert(datetime,convert(date,DATE_HR_INSC),110)

谢谢!

2 个答案:

答案 0 :(得分:1)

此SQL Server代码的第一个内部步骤是将DATE_HR_INSC强制转换为日期。然后,将其转换为格式为110的日期时间。我不确定这是否有意义,而是希望看到以下内容:

CONVERT(varchar, CONVERT(date, DATE_HR_INSC), 110)

这将生成日期时间,格式为mm-dd-yyyy。我们可以尝试使用TO_DATETO_CHAR函数在Oracle中对此进行近似。像这样:

TO_CHAR(TO_DATE(DATE_HR_INSC, 'yyyy-mm-dd'), 'mm-dd-yyyy')

Demo

这假设DATE_HR_INSC的格式为yyyy-mm-dd。如果其格式是其他格式,请替换上面对TO_DATE的调用中使用的掩码。

答案 1 :(得分:1)

我猜您想使用110格式将日期值转换为字符串,即mm-dd-yyyy(12-30-2019)。

在oracle中执行此操作的方法是:

to_char(date,'mm-dd-yyyy')