sql >> Database teknologi >  >> RDS >> Mysql

MYSQL:vælg en del af teksten og klip den af ​​baseret på prikplacering

Måske noget som dette kunne fungere :

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

Du kan se det i aktion her :http://sqlfiddle.com/#!2/ac4d3 /2 (Jeg bruger strenge med længde 10 af indlysende årsager;) )




  1. JDBC MySQL-forbindelse ved hjælp af Unix Socket

  2. Vælg sætning inde i en løkke i en Mysql Stored Procedure

  3. Hvordan man skriver en Pandas Dataframe til Django model

  4. behandling af et stort antal databaseposter med personsøgning bliver langsommere med tiden