How to get stored data by delimiter ( ; ) in mysql?

Member

by domenico , in category: MySQL , a year ago

How to get stored data by delimiter ( ; ) in mysql?

Facebook Twitter LinkedIn Telegram Whatsapp

1 answer

Member

by denis , a year ago

@domenico 

You can get stored data by delimiter ( ; ) in MySQL using the following steps:

  1. Use the SUBSTRING_INDEX function to extract the data between delimiters. For example, if you have a column named "data" containing values separated by semicolons, you can use the following query to extract the data between the first and second semicolon:
1
2
SELECT SUBSTRING_INDEX(SUBSTRING_INDEX(data, ';', 2), ';', -1) AS extracted_data
FROM your_table;


This query will extract the data between the first and second semicolon in the "data" column and display it as "extracted_data".

  1. You can also use the REPLACE function to replace the delimiters with a different delimiter, making it easier to extract the data. For example, to replace semicolons with a comma, you can use the following query:
1
2
SELECT REPLACE(data, ';', ',') AS replaced_data
FROM your_table;


This query will replace all semicolons in the "data" column with commas and display it as "replaced_data".

  1. If you want to extract all the values separated by semicolons into separate rows, you can use a combination of the SUBSTRING_INDEX and CONCAT functions with a recursive Common Table Expression (CTE). Here is an example query to achieve this:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
WITH RECURSIVE cte AS (
  SELECT 1 AS n, 1 AS start_idx, data
  FROM your_table
  UNION ALL
  SELECT n + 1, 
         LOCATE(';', data, start_idx) + 1 AS start_idx,
         data
  FROM cte
  WHERE LOCATE(';', data, start_idx) > 0
)
SELECT SUBSTRING(data, start_idx, 
                 IF(LOCATE(';', data, start_idx) > 0, 
                    LOCATE(';', data, start_idx) - start_idx, 
                    LENGTH(data))) AS extracted_data
FROM cte;


This query will extract all values separated by semicolons in the "data" column into separate rows.

Related Threads:

How to get data from laravel using stored procedure?
How to get data from mysql on python flask?
How to get the last data of group by in mysql?
How to get highest count from list data in mysql?
How to get data from two tables in mysql database using php?
How to get last 1 hour to last 10 days data in mysql?