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

问题描述 投票:0回答:2

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

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

谢谢!

sql-server oracle ssas odac
2个回答
1
投票

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

在oracle中这样做的方法是:

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

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_INSCyyyy-mm-dd格式。如果它的格式是其他的,那么替换上面TO_DATE调用中使用的掩码。

© www.soinside.com 2019 - 2024. All rights reserved.