Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql,指定长度的Concat_Mysql - Fatal编程技术网

Mysql,指定长度的Concat

Mysql,指定长度的Concat,mysql,Mysql,我试图在mysql函数中找到一种方法来执行以下操作: 'ssssssttttttttrrrriiiinnnngggg' // I have this string 我只想取10个字母,然后用“…”(3点)表示,但我只想用10个字母以上的字符串表示,例如: '123456string' // Will result: '123456stri...' 'strin6' // Will result: 'strin6' 'str123456ing' // Will result: 'str12345

我试图在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)使用额外的If首先检查值的长度:

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

选择IF(LENGTH(str)>10,CONCAT(SUBSTR(str,1,10),“…”),str作为…

选择IF(LENGTH(string1)>10,CONCAT(SUBSTR(string1,1,10),“…”),string1作为mystring在我看来,在数据库管理系统之外实现您的目标更舒服。如果切割规则的某些要求发生变化,您的操作会更加灵活。谢谢你们,我正在测试…我认为OP应该是
。。。左(mystring,10).
(但无论如何+1)。谢谢你,davek,祝你度过愉快的一天。