AMcoder - javascript, python, java, html, php, sql

json դաշտի հարցում mysql-ում JOOQ-ի միջոցով

Ես ունեմ գործարքների աղյուսակ, և այն ունի json տիպի դաշտ, որը կոչվում է հարցում:

| Field               | Type         | Null | Key | Default |
| id                  | bigint       | NO   | PRI | NULL    |
| request             | json         | NO   |     | NULL    |
| response            | json         | YES  |     | NULL    |

հարցումն ունի երկու հատկանիշ currencyCode և amount:

{"amount":100000,"currencyCode":"PHP"}

Այս արժեքները ստանալու համար կարող եմ օգտագործել հետևյալ mysql հարցումը

select json_extract(request, "$.amount") as amount, json_extract(request, "$.currencyCode") as currency from transaction;

| amount | currency |
+--------+----------+
| 100000 | PHP      |
| 100000 | PHP      |
| 100000 | PHP      |

Ես ուզում եմ ստանալ այս արժեքները՝ օգտագործելով jooq հարցումը նման բան:

DSL.select(<Tables.TRANSACTION.REQUEST.amount>, <Tables.TRANSACTION.REQUEST.currencyCode>)
.from(Tables.TRANSACTION)
.fetch()

Ես իսկապես գնահատում եմ, եթե ինչ-որ մեկը կարող է օգնել ինձ այս հարցում:

12.08.2020

Պատասխանները:


1

Օգտագործելով jOOQ 3.14-ի JSON_VALUE աջակցությունը

Սկսած jOOQ 3.14-ից՝ դուք կկարողանաք օգտագործել նոր ներկառուցված ստանդարտ JSON օպերատորի աջակցությունը, օրինակ. JSON_VALUE(). Ըստ փաստաթղթերի.

Այս օրինակը՝ օգտագործելով jOOQ.

jsonValue(val(JSON.json("[1,2]")), "$[*]")

Թարգմանվում է հետևյալ բարբառային հատուկ արտահայտություններով.

...
-- MYSQL
json_extract('[1,2]', '$[*]')

Օգտագործելով պարզ SQL ձևանմուշ jOOQ 3.13 և ավելի վաղ

Ամեն անգամ, երբ jOOQ-ը չի աջակցում վաճառողի հատուկ գործառույթներին, կարող եք դիմել պարզ SQL ձևանմուշ: Պարզապես գրեք.

public static Field<String> jsonExtract(Field<?> field, String jsonPath) {
  DSL.field("json_extract({0}, {1})", String.class, field, DSL.inline(jsonPath));
}
13.08.2020
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..