我的数据库中有列类型文本,其中包含json查询。我想在postgresql中将列的类型转换为json,我该怎么做?
UPDATE category_query_copy
set json_queries = query_json
我的查询是这样的,错误信息是:
[Err] ERROR:列“json_queries”的类型为json,但表达式的类型为text
第2行:设置json_queries = query_json ^ 提示:您需要重写或转换表达式。
答案 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)