TL; DR行を選択するときに文字列が16進数であるかどうかをテストするにはどうすればよいですか?VARCHAR文字列が16進数ではないことを確認する方法は?
私は16進ならば、それらのいくつかではなくBase36あるのGUIDを持つテーブルがあった場合:
ID | GUID
===|=================================
1 | CAFEBABECAFED00DB16B00B515BADA55
2 |ABCDEFGHIJKLMNOPQRSTUV
3 | DEADBEAF4D15EA5EDEFEC8EDFEE1DEAD
を私はもっぱら進数ではありませんGUIDを持つすべての行を取得したいです。
シングルトンの場合、私はCONVERT(VARBINARY(32),[GUID],2)
を試してみることができますが、失敗したかどうかを確認できますが、クエリでそれを確認することはできません。私がWHERE isNaN(parseInt(GUID,16))
のために照会することができれば、すべての行に適用しなければならない間にフェールセーフになります。
(非)進を照会する方法:もちろん
は、私はF(WHERE [GUID] LIKE '%g%' OR [GUID] LIKE '%h%' OR …
)が、アプローチのこの最後の種類を、次の手紙の全文検索は、この質問をする私を導いた可能性フィールドのみ?
が使用している行を返します。実際のアイデアにとって重要なCTE? – dakab
@dakab CTEはここにいくつかのデータを入力します。 –