繁体   English   中英

大写和小写查询过滤器

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM