Mysql,指定长度的Concat

Avi*_*ida 2 mysql

我试图在mysql函数中找到一种方法,执行以下操作:

'ssssssttttttttrrrriiiinnnngggg' // I have this string
Run Code Online (Sandbox Code Playgroud)

我想只拿10个字母然后连接'...'(3个点),但我只想连接到超过10个字母的字符串,例如:

'123456string' // Will result: '123456stri...'
'strin6' // Will result: 'strin6'
'str123456ing' // Will result: 'str123456i...'
'asd23456' // Will result: 'asd23456'
Run Code Online (Sandbox Code Playgroud)

我正在尝试substr,lpad和concat组合,如果有人得到正确的功能组合,我将非常感谢,谢谢大家,祝你有愉快的一天.

dav*_*vek 8

  select case when length(mystring) <= 10 then 
      mystring 
  else 
      concat(left(mystring, 7), '...') 
  end as mycol
  ...
Run Code Online (Sandbox Code Playgroud)