Chr*_*fer 3 sql postgresql indexing concat
我正在几个文本列上创建索引(在Postgres 9.3中),我想使用concat,例如:
CREATE INDEX
ON my_table
USING gin (to_tsvector('english', concat(title, ' ', description)))
Run Code Online (Sandbox Code Playgroud)
但是,当我尝试这样做时,我收到以下错误:
ERROR: functions in index expression must be marked IMMUTABLE
与||操作员的香草连接工作正常.但是,我宁愿使用,concat因为description可能是NULL,并且||运算符似乎将任何串联NULL转换为NULL.
如果我理解正确,这意味着concat没有标记为不可变,我不明白.
当然,我可以只使用coalesce所有可以为空的列,但感觉不够优雅.最重要的是,我很好奇为什么我不能concat在我的索引中使用?
| 归档时间: |
|
| 查看次数: |
1295 次 |
| 最近记录: |