Postgres:返回 JSON 属性 的前 3 个字符
Postgres: Returning first 3 characters of a JSON property
id | foo
--------
1 | {'source': 'england'}
我正在使用 foo -> 'source'
来提取数据,但我只想获取源的前 3 个字符。
我通常会使用 LEFT(columnName, 3)
但此函数仅在值为字符串时有效。
所以我做不到
foo -> LEFT('source', 3) as source
我该如何解决这个问题?
->
结果为 JSON
->>
结果为 TEXT
所以,使用这个
select LEFT(foo ->>'source' , 3) from t;
id | foo
--------
1 | {'source': 'england'}
我正在使用 foo -> 'source'
来提取数据,但我只想获取源的前 3 个字符。
我通常会使用 LEFT(columnName, 3)
但此函数仅在值为字符串时有效。
所以我做不到
foo -> LEFT('source', 3) as source
我该如何解决这个问题?
->
结果为 JSON
->>
结果为 TEXT
所以,使用这个
select LEFT(foo ->>'source' , 3) from t;