sql >> Databáze >  >> RDS >> Mysql

MYSQL:vyberte část textu a ořízněte ji na základě umístění tečky

Možná by něco takového mohlo fungovat :

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

Můžete to vidět v akci zde:http://sqlfiddle.com/#!2/ac4d3 /2 (Z pochopitelných důvodů používám řetězce o délce 10;) )




  1. Chránit sloupec, zakázat aktualizaci, povolit vložení pouze v případě NULL v MySQL

  2. Jak spravovat dostupnost pokojů na základě obsazenosti dnů nebo měsíců

  3. Vnější transakce v případě použití vnořené transakce nevidí v databázi trvalé aktualizace (JPA, MySQL, Spring Framework a Hibernate)

  4. Získejte úplný řetězec dotazu MySQL při vložení nebo aktualizaci