0
我有一個保存十六進制ID的varchar(40)列,我需要大寫的ID,如id_xxxx;其中xxxx是十六進制數字0-9 A-F 前3個字母必須小寫。大寫和小寫查詢過濾器
1)有一種方法可以獲得十六進制數字不是大寫的ID列表嗎?
2)有一種方法,使數據庫引擎把一個錯誤的ID喜歡ID_abc1到id_ABC1?
我有一個保存十六進制ID的varchar(40)列,我需要大寫的ID,如id_xxxx;其中xxxx是十六進制數字0-9 A-F 前3個字母必須小寫。大寫和小寫查詢過濾器
1)有一種方法可以獲得十六進制數字不是大寫的ID列表嗎?
2)有一種方法,使數據庫引擎把一個錯誤的ID喜歡ID_abc1到id_ABC1?
打開所有值與此表達正確的情況下:
concat('id_', upper(substr(myHexId, 4)))
要查找不在大寫所有十六進制值:
where substr(myHexId,4) != upper(substr(myHexId,4))
找到所有的格式不正確的值(無論是「ID_」或十六進制不正確):
where myHexId != concat('id_', upper(substr(myHexId, 4)))
會發生什麼,如果有不是有效的HEX號碼?我可以過濾它們並獲得一個列表嗎? –
你想要什麼?你想查找所有不是正確格式的值嗎?不是六角?我爲答案增加了一些選項 – Bohemian