すべての有効なドメインのホワイトリストを持つテーブルがあります。問題の列は「URL」と呼ばれますSQLパラメータとホワイトリスト列の値の比較
URL列はVARCHAR(60)で、@urlは.Net文字列プリミティブです。
が、テーブルに格納されたホワイトリストのURLで始まるで始まるSQLパラメータを返した場合、「1」を返すSQL文が必要です。
SELECT 1
FROM [TABLE]
WHERE @url LIKE (URL || '%')
をしかし、それは仕事と次のエラーを与えていない:これは私が持っているものである
A LIKE predicate or POSSTR scalar function is not valid because the first operand is not a string expression or the second operand is not a string.
HTTP://WWW.GOOGLE.COM/ANYTHING/AFTER/THIS
のパラメータ値を与えられたとき、私は起こるしたいものの例私のテーブルにはHTTP://WWW.GOOGLE.COM
のような行がありますが、 "1"を返しますが、ドメインで始まる行がない場合はnullを返します。
例のテーブル値:
HTTP://WWW.GOOGLE.COM
HTTPS://WWW.ANOTHERWEBSITE.GOV
HTTP://WWW.DOMAIN.CORP
HTTP://MY.WEBSITE.COM
HTTPS://STUFF/SUBDOMAIN/
HTTP://BUSINESS.JUNK.CORP/