我有一个列,其中包含文本中的数据集类型。
所以我想做这样的事情:
SELECT CAST ('100' AS %INTEGER%);
SELECT CAST (100 AS %TEXT%);
SELECT CAST ('100' AS (SELECT type FROM dataset_types WHERE id = 2));
这可能与PostgreSQL有关吗?
SQL是强类型和静态的。 Postgres要求知道呼叫时间的列数及其数据类型。因此,您需要在其中一个过程语言扩展中使用动态SQL。然后你仍然面临功能(必然)具有固定返回类型的障碍。有关:
或者你采用两步流程。首先连接查询字符串(与另一个SELECT
查询)。然后执行生成的查询字符串。两次往返服务器。
SELECT '100::' || type FROM dataset_types WHERE id = 2;
- 记录结果字符串关于短铸语法: