このようなことは可能ですか?基本的に、int を文字列にキャストし、その文字列を結合で使用したいと考えています。に注意してください%t1.id%
select t2.*
from t1
join t2 on t2.url='site.com/path/%t1.id%/more'
where t1.id > 9000
このようなことは可能ですか?基本的に、int を文字列にキャストし、その文字列を結合で使用したいと考えています。に注意してください%t1.id%
select t2.*
from t1
join t2 on t2.url='site.com/path/%t1.id%/more'
where t1.id > 9000
int である「col1」という列がある場合は、次のように String にキャストします。
CONVERT(col1,char)
たとえば、これにより、次のように int 値に別の値 (ここでは 9) が含まれていることを確認できます。
CONVERT(col1,char) LIKE '%9%'
CONCATを使用できます。その数値引数は、同等のバイナリ文字列形式に変換されます。
select t2.*
from t1 join t2
on t2.url=CONCAT('site.com/path/%', t1.id, '%/more') where t1.id > 9000
select t2.*
from t1 join t2 on t2.url='site.com/path/%' + cast(t1.id as varchar) + '%/more'
where t1.id > 9000
提案されたように concat を使用することはさらに優れています
使ってみてくださいCONCAT
CONCAT('site.com/path/','%', CAST(t1.id AS CHAR(25)), '%','/more')
あなたはこれを行うことができます:
select t2.*
from t1
join t2 on t2.url = 'site.com/path/' + CAST(t1.id AS VARCHAR(10)) + '/more'
where t1.id > 9000
に注意してCAST(t1.id AS VARCHAR(10))
ください。