【问题标题】:Return all records with whole word in UPPERCASE MYSQL在大写MYSQL中返回所有带有整个单词的记录
【发布时间】:2015-11-07 14:13:26
【问题描述】:

有人能告诉我如何返回所有单词全部大写的记录吗?如果可能的话。

我目前有一个包含药物清单的数据库。历史上,药物名称已输入为 DRUGNAME 10mg Tablets。我们现在正在进行一项练习,将它们全部更改为 Drugname 10mg 片剂。

当然我不能运行一个任务来将所有的大写都改成小写,因为我希望第一个字母是大写的。当我跑步时:

select drugname from medication where upper(drugname) = drugname

我得到所有返回任何大写字母的结果,所以对我来说也没用。

请问如何定位整个单词大写的记录?

谢谢, 迈克

【问题讨论】:

标签: mysql uppercase


【解决方案1】:

试一试:

SELECT drugname FROM medication WHERE drugname regex '\b[[:upper:]]+\b'

You can read more about regex here

【讨论】:

    【解决方案2】:

    您需要使用区分大小写的排序规则来执行此操作(通常使用以 _cs 结尾的排序规则):

    select drugname from medication where drugname COLLATE latin1_general_cs rlike '^[[:upper:]]+'
    

    Regexp 将返回所有第一个单词大写的字符串。

    【讨论】:

      猜你喜欢
      • 2019-05-26
      • 2015-07-17
      • 2014-08-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-12-10
      • 1970-01-01
      相关资源
      最近更新 更多