我试图在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组合,如果有人得到了正确的功能组合,我将非常感谢,谢谢大家,祝你有愉快的一天。
答案 0 :(得分:8)
select case when length(mystring) <= 10 then
mystring
else
concat(left(mystring, 7), '...')
end as mycol
...
答案 1 :(得分:2)
使用额外的IF首先检查值的长度:
SELECT IF(LENGTH(str)&gt; 10,CONCAT(SUBSTR(str,1,10),“......”),str)AS ...
答案 2 :(得分:2)
选择if(length(string1)&gt; 10,concat(substr(string1,1,10),&#34; ...&#34;),string1)as mystring