Mysql
 sql >> база данни >  >> RDS >> Mysql

JSON_VALID() – Тествайте за валиден JSON в MySQL

Когато използвате MySQL, можете да използвате JSON_VALID() функция за проверка дали низовият израз съдържа валиден JSON.

Ако изразът съдържа валиден JSON, JSON_VALID() връща 1 , в противен случай връща 0 .

Синтаксис

Синтаксисът е така:

JSON_VALID(val)

Където val е стойността, за която тествате за валиден JSON.

Пример 1 – Валиден JSON

Ето пример, за да демонстрирате какво се случва, когато низът съдържа валиден JSON.

SELECT JSON_VALID('{"Име":"Барт"}') КАТО резултат;

Резултат:

<пред>+--------+| Резултат |+--------+| 1 |+-------+

Пример 2 – Невалиден JSON

Ето пример, за да демонстрирате какво се случва, когато низът не съдържа валиден JSON.

SELECT JSON_VALID('Име:Bart') КАТО резултат;

Резултат:

<пред>+--------+| Резултат |+--------+| 0 |+-------+

Пример 3 – Пример за база данни

В тази заявка към база данни резултатите се връщат само когато Collections.Contents колоната съдържа валиден JSON.

Тази конкретна колона използва тип данни json за да съхранявате JSON документа.

SELECT ContentsFROM CollectionWHERE JSON_VALID(Contents) =1;

Резултат:

+-----------+| Съдържание ||------------|| [ { "ArtistName":"AC/DC", "Albums":[ { "AlbumName":"Powerage" } ] }, { "ArtistName":"Devin Townsend", "Albums":[ { "AlbumName":" Ziltoid the Omniscient" }, { "AlbumName":"Casualties of Cool" }, { "AlbumName":"Epicloud" } ] }, { "ArtistName":"Iron Maiden", "Album":[ { "AlbumName":"Powerslave" }, { "AlbumName":"Somewhere in Time" }, { "AlbumName":"Piece of Mind" }, { "AlbumName":"Killers" }, { "AlbumName":"Без молитва за умиращите " } ] }] |+-----------+

Ето какво се случва, ако променим израза, за да върне данните само ако isn't валиден JSON.

SELECT ContentsFROM CollectionWHERE JSON_VALID(Contents) =0;

Резултат:

Празен набор (0,00 сек)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Копирайте данните в нова таблица в MySQL

  2. Заявката за MySQL Insert не работи с клауза WHERE

  3. Тест за PDO връзка

  4. Как да извлека потребителското си име и парола за MySQL?

  5. Затваряне на JDBC връзки в пула