postgresql 型別轉化時遇到的問題

2021-08-15 22:59:02 字數 856 閱讀 8077

postgres=# alter table test alter config type

jsonb;

error: column "config" cannot be cast automatically to

type

jsonb

hint: specify a using jsonb to perform the conversion.

之前config 字段型別為 hstore,怎麼才能轉化呢,如下三種方式都可以:

第一種

alter

table test alter config type jsonb using config::jsonb;

第二種

alter

table test alter config type jsonb using(config::jsonb);

第三種

alter

table test alter config type jsonb using

cast(config as jsonb);

#test case

select

cast('12'

asint);

select

'12'::int;

如果是int 型別變更為 varchar 可以不用顯示的using 方式去變更,這個與型別的強弱有關係, 如 5/2.0 其實計算機會把5先轉成與2.0一樣的浮點型別,然後再做除法, 如果想要5/2.0得到整數,則這樣才能獲得:(int)5/2.0 。

注:5/2.0的型別轉化是c語言例子

SQL中CONVERT 轉化函式的轉化時間的用法

convert data type,expression r r style 語句及查詢結果 select convert varchar 100 getdate 0 05 16 2006 10 57am select convert varchar 100 getdate 1 05 16 06 s...

Unix時間戳轉化時間

因為專案中經常用到unix時間戳的轉化,今天就總結一下 php中 這種方式在php程式中完成轉換,優點是無論是不是資料庫中查詢獲得的資料都能轉換,轉換範圍不受限制,缺點是占用php解析器的解析時間,速度相對慢。用函式 date 一般形式 date y m d h i s unix時間 php中將正常...

vue cli時間戳轉化時間

本人是乙個前端初學者,有一段時間使用vue cli 其中遇到一些問題。前端接收後台傳回的資料,其中最常見的就是時間戳,這樣就是需要我們自己轉化為時間格式 所以使用new date 處理 如下 xport function formatdate date,fmt let o for let k in ...