繁体   English   中英

Mysql,指定长度的Concat

[英]Mysql, Concat on specified length

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

'ssssssttttttttrrrriiiinnnngggg' // I have this string

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

'123456string' // Will result: '123456stri...'
'strin6' // Will result: 'strin6'
'str123456ing' // Will result: 'str123456i...'
'asd23456' // Will result: 'asd23456'

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

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

使用额外的IF来首先检查值的长度:

SELECT IF(LENGTH(str)> 10,CONCAT(SUBSTR(str,1,10),“......”),str)AS ...

选择if(length(string1)> 10,concat(substr(string1,1,10),“...”),string1)为mystring

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM