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