[英]Upper case and lower case query filter
我有一个varchar(40)列,它保存一个十六进制ID,我需要大写的ID,例如id_xxxx ; 其中xxxx是十六进制数字0-9 AF前三个字母必须为小写。
1)有一种方法可以获取ID列表(十六进制数字不是大写)?
2)有一种方法可以使数据库引擎将错误的ID(例如ID_abc1)转换为id_ABC1 ?
使用此表达式将所有值转换为正确的大小写:
concat('id_', upper(substr(myHexId, 4)))
请参阅SQLFiddle中的实时演示 。
要查找所有不大写的十六进制值:
where substr(myHexId,4) != upper(substr(myHexId,4))
查找所有格式错误的值(“ id_”或十六进制不正确):
where myHexId != concat('id_', upper(substr(myHexId, 4)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.