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

MYSQL:изберете част от текста и я изрежете въз основа на местоположението на точката

Може би нещо подобно може да работи :

SELECT
    id,
    CASE
        WHEN len <= 500 THEN content
        ELSE CASE
            WHEN idx > 0 THEN SUBSTRING(content, 1, idx)
            ELSE ''
        END
    END AS content
FROM (
  SELECT 
    id,
    content,
    LOCATE('.', content, 500) AS idx,
    LENGTH(content) AS len
  FROM data
) AS data

Можете да го видите в действие тук:http://sqlfiddle.com/#!2/ac4d3 /2 (Използвам низове с дължина 10 по очевидни причини;) )




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да получите записа, ако Count е нула в Laravel

  2. Нарушение на php ограничение Грешка 1452

  3. Разгръщане на база данни с актуализации

  4. Mysql - намерете разговор, воден само от двама потребители

  5. Как да оставите да се присъедините към 2 таблици в 2 различни бази данни?