0

如何从 mysql 表字段中获取所有值,超过 10 个字符而没有任何特殊字符(空格、换行符、冒号等)

假设我有表名 myTable,我想从中获取值的字段是 myColumn。

myColumn
--------
1234
------
123 456
------
123:456
-------
1234
5678
--------
123-456
----------------
1234567890123

所以在这里我想获取除第一个字段值之外的所有字段值,即 1234

任何帮助深表感谢。

谢谢

更新:

抱歉,如果我无法正确描述我的问题。我又试了一次:

  • 如果没有标点符号的字符数超过 10 个,那么也检索它。
  • 检索所有具有特殊字符(如换行符、空格等)的值。
  • 是的,如果这有帮助,我在此表中有主键。
4

2 回答 2

1

逻辑似乎是“超过 10 个字符或有特殊标点符号”:

where length(mycol) > 10 or
      mycol regexp '[^a-zA-Z0-9]'
于 2013-05-30T19:23:44.570 回答
1
SELECT MyColumn
From MyTable
WHERE MyColumn RLIKE '([a-z0-9].*){10}'
  • [a-z0-9]匹配一个普通字符。
  • ([a-z0-9].*)匹配一个普通字符后跟任何内容。
  • {10}匹配前面的正则表达式 10 次。

结果是这匹配了 10 个普通字符以及它们之间的任何内容。

于 2013-05-30T19:39:11.370 回答