1

私は 1 つのフィールド (説明) が変化する可能性があるテーブルを持っています。理想的には、400 文字または 10 文の後で何かを削除したいと考えています (ただし、文の終わりには何もないか、追加して .... を作成します)。より自然に見えます)。

地位を手に入れた

SELECT description,LOCATE('.',description)   as pos
FROM table  
WHERE locate('.',description)>20;  

しかし、これ以上先に進むことはできません。これは最良の方法ですか?

4

1 に答える 1

0

10文に切り捨てるには、substring_indexを使用します。

substring_index( description, '.', 10 )

あなたの質問:

SELECT  concat(
            left(  substring_index( description, '.', 10 )
                  ,397
                )
            ,'...' )
FROM table  
WHERE len( description ) > 400

注意:テストされていません。

于 2012-12-31T22:36:30.997 に答える