我想创建一个带有日期字段的视图,该字段从另一个日期字段中提取月份。 我看到很多函数可以使用参数中的日期,但我想使用日期字段。
create view V_statmag
as
select CODP ,
FLJMA ,
DTJOUR extract(month FROM DTJOUR) as dt_month,
NBCLIENT ,
NBORDER
FROM DSTATMAG
这将允许我根据所选月份过滤数据。
我有这个错误:
消息:isc_dsql_prepare失败
SQL消息:-104 令牌无效
引擎代码:335544569 引擎消息: 动态SQL错误 SQL错误代码= -104 令牌未知 - 第5行,第10列 提取
答案 0 :(得分:1)
排队
DTJOUR extract(month FROM DTJOUR) FROM DSTATMAG,
" DTJOUR"之间缺少komma。和"提取"。
答案 1 :(得分:0)
DTJOUR extract(month FROM DTJOUR)
DTJOUR
是表达的一部分
extract(...)
是表达的另一部分。
但表达式的多个部分将与某个运算符连接以进行计算。
你想做什么 - 让我们假设这个月是2月 - 正在表达DTJOUR 2
。
这是一个错误的公式。您可以拥有DTJOUR + 2
或DTJOUR - 2
或DTJOUR * 2
- 但是当您尝试制作表达式时,应该有一些链接运算符。没有操作员的DTJOUR 2
没有任何意义。
你给firebird的内部计算器提供两个不同的值,你要求它组合它们并在返回时只给你一个值,但是你没有给出任何法则计算器究竟应该如何组合这两个值。
制作正确的表达式:要么指定一些运算符 - 将两个值组合成一个的定律,要么删除其中一个值。