在Postgresql

时间:2015-09-10 11:46:04

标签: json postgresql casting

我的数据库中有列类型文本,其中包含json查询。我想在postgresql中将列的类型转换为json,我该怎么做?

UPDATE category_query_copy
set json_queries = query_json

我的查询是这样的,错误信息是:

[Err] ERROR:列“json_queries”的类型为json,但表达式的类型为text

第2行:设置json_queries = query_json                    ^ 提示:您需要重写或转换表达式。

2 个答案:

答案 0 :(得分:10)

PostgreSQL对数据类型很挑剔,并且不会隐式地text转换为json,即使它们看起来都是文本类型。

您必须使用显式强制转换,例如

UPDATE category_query_copy
set json_queries = CAST(query_json AS json)

答案 1 :(得分:0)

我不知道为什么,但是由于某些原因,使用强制转换功能对我而言不起作用。这是有效的

UPDATE category_query_copy
set json_queries = to_json(query_json)