字母數字ID的SQL查詢我希望能夠一個字符串,它是字母數字的和一個字符串,它是十六進制格式之間進行區分。爲十六進制
我當前的查詢是:
<columnName> LIKE '?_____=' + REPLICATE('[0-9A-Fa-f]',16)
我發現尋找六角ID在線的這個方法,我認爲這是工作。然而,在獲得更大的樣本量後,我的結果中可以看到很高的誤報率。問題是,這給我所有我想要的結果,但它也給了我一堆我不關心的結果。例如:
我想看看:
<url>.php?mains=d7ad916d1c0396ff
,但我不希望看到的:
<url>.php?mblID=2007012422060265
2個字符串之間的區別是,在最後的16個字符,我想收集都是數字,而不是一個十六進制ID。你們用什麼方法將結果限制爲十六進制ID?感謝advnace。
UPDATE: 克林斯曼提出了一個很好的點,第二個數字可能是一個十六進制值。並非所有的十六進制數字都包含[a-F]。我想重申一下這個問題,說明我正在尋找一個包含字母和數字的ID,而不僅僅是數字。
但第二個數字可能是一個十六進制值。並非所有的十六進制數字都包含[a-F] – 2012-03-23 13:42:42
@juergend這是一個很好的觀點。我將重新說明這個問題,說明我正在尋找一個包含字母和數字的ID,而不僅僅是數字。 – toosweetnitemare 2012-03-23 13:44:01
你不可能確定一個字符串是否代表十六進制或十進制,而沒有任何額外的信息被存儲在關於它的基礎上。如果你有一個包含'12345678'的字符串,比如說,你怎麼知道它是十進制還是十六進制? – 2012-03-23 13:44:26