背景:SQL十六進制字符串比較
我有我的ID號的SQL數據庫。它們看起來像「44b1e3d6e8ee4da7」,到目前爲止,我已經能夠基於差異查詢來檢測它們。
查詢:
use [table]
select date,id
from View
with(nolock) where id like '________________'
and DIFFERENCE(substring(id,charindex('?____=', id)+6,
(len(id) - (charindex('?____=', id) +5))), 'ae93ed317663c028') > 0
但現在的數據已經有所改變,人們在ID的這樣的 「251 & R = 1328129429」 推杆。
如何輕鬆快速地區分「44b1e3d6e8ee4da7」和「251 & r = 1328129429」之間的區別?我知道他們都是16個字符。我知道第二個字符串有一個&和a =,但是我不想使用額外的AND!CONTAINS「&或=」,除非必須。
有什麼建議嗎?
更新問題:
爲@gbn說是沒有回答我原來的問題。這是因爲這只是一個部分問題。當時我完全不知道我在問什麼。我的問題已演變爲「我如何從我的結果池字符串中刪除具有特殊字符的字符串,並僅保留16位十六進制字符串
@MartinSmith提供了一個很好的代碼示例來回答這個問題謝謝@ MartinSmith爲了查看我的問題到什麼是真正的問題並回答了它,它顯示了大量的線性思維,我讚揚你的努力和回答,謝謝
簡單的'valueA <> valueB'有什麼問題?ID號碼匹配或者他們不...中間沒有多少... – gbn 2012-02-02 15:21:15
我必須爲新ID輸入報告。我知道它們都是16個字符,並且是一個十六進制格式,沒有特殊字符。 – toosweetnitemare 2012-02-02 15:22:41
你能詳細說明你的意思嗎?「一個簡單的valueA」> valueB「? – toosweetnitemare 2012-02-02 15:23:22