1. 程式人生 > >PgSql之操作JSON型別欄位

PgSql之操作JSON型別欄位

這裡寫圖片描述
假設這裡有check_result的表,我們需要從裡面查詢檢查報告json欄位checkresult

這裡寫圖片描述

這樣是可以查詢到資料的

SELECT ID
    ,
    checkresult :: json -> 'name' AS check_name,
    checkresult 
FROM
    check_result 
WHERE
    ( checkresult :: json -> 'name' ) :: TEXT like '%德瑪西亞%';

這裡寫圖片描述
這樣是不行的。難道是不等於?

    SELECT ID
    ,
    checkresult :: json
-> 'name' AS check_name, checkresult FROM check_result WHERE ( checkresult :: json -> 'name' ) :: TEXT = '德瑪西亞';

這裡寫圖片描述
這樣也是可以的

    SELECT ID
    ,
    checkresult :: json -> 'name' AS check_name,
    checkresult 
FROM
    check_result 
WHERE checkresult->>'name' ='德瑪西亞'
;

相關推薦

PgSql操作JSON型別

假設這裡有check_result的表,我們需要從裡面查詢檢查報告json欄位checkresult 這樣是可以查詢到資料的 SELECT ID , checkresul

ORA——00600錯誤的原因是:(Oracle中對clob型別操作

ORA——00600錯誤的原因是:(Oracle中對clob型別欄位的操作) 改正的程式碼如下: //3.2生成資料插入語句 (增加的方式) StringBuilder insertSql = new StringBuilder(“INSERT INTO “); insertSql.a

Oracle中對clob型別操作

下面這篇文章說的很詳細,我再做兩點補充說明:        第一,LOB資料不能象其它型別資料一樣直接插入(INSERT)。插入前必須先插入一個空的LOB物件,CLOB型別的空物件為EMPTY_CLOB(),BLOB型別的空物件為EMPTY_BLOB()。之後通過SELECT

資料庫的日期型別該如何選擇?

當設計一個產品,其中很多地方要把日期型別儲存到資料庫中,如果產品有相容不同資料庫產品的需求,那麼,應當怎樣設計呢?   (1) 當然,首先想到的是,使用資料庫的Date或DateTime型別,可是看看不同資料庫這些型別間的區別吧,真讓人望而止步。

ORACLE時間型別加減簡便運算

例子: 以下“(9)”這塊無需替換,可以根據需要替換“1”或者“ ‘2’ ”即可。 -- 年份運算(當前時間-2年) SELECT SYSDATE - (1 * INTERVAL '2' YEAR(9)) AS YEAR_OPERATION FROM DUAL;

獲取json指定的方法

**分析:**在專案開發過程中對於複雜的資料表結構或者是儲存過程,我們往往不需要所有的屬性列,從伺服器傳遞過來的json序列擷取相應的屬性列即可,但是如果用常規的方法,使用pojo類去接收則pojo類中的屬性列與傳遞的json序列的引數個數不能對應。經過本人的研究與思考,找到一種方法,並

add,update同一個頁面時新增操作時Id報錯

原因:新增操作時,ID欄位為空,進行空指標查詢導致報錯 HTTP Status 500 - Batch update returned unexpected row count from update [0]; actual row count: 0; expected: 1;

在oracle中操作表及註釋

1、查詢表註釋 SELECT * FROM USER_TAB_COMMENTS;三列:TABLE_NAME,TABLE_TYPE,COMMENTS 2、查詢欄位註釋 SELECT * FROM USER_COL_COMMENTS;三列:TABLE_NAME,COLUMN_NAME,COM

JavaScript遞迴遍歷輸出json所有與值的方法

宣告一個三層的json物件作為測試: var js={          "text":"MXCHIP won a prize",          "id": 1234,   &nbs

Elasticsearch 學習Field Collapsing(摺疊)

Field Collapsing(欄位摺疊)不能與scroll、rescore以及search after 結合使用 collapse欄位:表示按照age(每個age對應多條document結果)的值摺疊(keyword或者數值) sort:表示按照age欄位排序 f

字串存入資料庫date型別

有時候為了計算方便等原因需要將時間以date格式存入資料庫,但是前臺傳過來的資料型別都是字串,如果將字串直接插入date型別的欄位中會拋:ORA-01861: 文字與格式字串不匹配。 前臺頁面有一個表單,如下所示: <form action="......" method="get"&

mysql 模糊查詢表中儲存json

說明:mysql 5.7 及以上版本 對操作記錄表格中操作物件進行模糊查詢 1.建立帶有 json欄位的表 -- 建立表 CREATE TABLE opt_record(id INT PRIMARY KEY, opt_username VARCHAR(20) , modify_t

mongo$rename更新一個的名稱(可批量)

$rename操作邏輯執行$unset 老名稱和新的名稱,然後執行 $set新名稱執行。因此,操作可能不保留文件中欄位的順序; 即重新命名的欄位可以在文件內移動。 1、重新命名欄位:一級欄位 格式: db.students.updateMany( {}, { $ren

jdbc 如何處理Blob型別的資料

jdbc處理大物件Blob  在貼程式碼之前先講一下什麼是LOB大物件資料  LOB 大物件 是用來儲存大量的二進位制和文字資料的一種資料型別(一個LOB欄位可儲存多達 4GB的資料)   LOB分類兩種型別: (1)內部, (2)外部

如何在指定資料庫表中插入TimeStamp型別

# 在指定表中 插入一個 TimeStamp型別的欄位,預設當前時間作為插入時間顯示,以後更新資料時會跟著更新 時間 ALTER TABLE 表名 ADD 欄位名 TimeStamp default CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP

【轉載】解決Java關鍵字作為json資料名問題

轉自:https://blog.csdn.net/jjj11223344/article/details/79957559   在java命名規範中,我們不能採用Java關鍵字如 public、static等命名,但是在服務端資料命名時我們往往會採用某一欄位的英文來命名,這有時候就

java物件記憶體佈局中的基本型別排列順序

java物件記憶體佈局: mark word class物件指標 類欄位 補齊位 如果是陣列物件,2、3之間應該加上  陣列長度 佈局排列表: 32位jdk 普通物件 32位jdk 陣列物件

Mybatis框架--Ibatis框架踩坑01 -- Java中BigInteger型別問題!

       在Mybatis框架、 Ibatis框架中, 不支援Java中的 java.math.BigInteger 型別欄位, 支援 java.math.BigDecimal 型別欄位。若Java實體類中,使用 java.math.BigInteger 型別欄位,在

TIMESTAMP型別在SQL Server和MySQL中的含義和使用

公眾號上轉的滿天飛的一篇文章,MySQL優化相關的,無意中瞄到一句“儘量使用TIMESTAMP而非DATETIME”,之前對TIMESTAMP也不太熟悉,很少使用,於是查了一下兩者的區別。 其實,不管在SQL Server中還是MySQL中,“儘量使用TIMESTAMP而非DATETIME”都是有問題的

Mybatis處理DB2中Blob型別的一種方法

簡單來說,就是把Blob欄位對應的屬性的型別設定為byte[],然後在對映xml中存的時候在該欄位出指定為Blob型別就可以了。 例子 EB_COMM_NEWS表中,CONTENT為BLOB型別 在實體類EbCommNews中,對應的屬性為private byte[] CON