Böyle bir şey yapmak mümkün mü? Esasen bir diziye int atmak ve birleşimdeki dizeyi kullanmak istiyorum. Bunu yapabilecek %t1.id%
int mysql içinde dize
select t2.*
from t1
join t2 on t2.url='site.com/path/%t1.id%/more'
where t1.id > 9000
Böyle bir şey yapmak mümkün mü? Esasen bir diziye int atmak ve birleşimdeki dizeyi kullanmak istiyorum. Bunu yapabilecek %t1.id%
int mysql içinde dize
select t2.*
from t1
join t2 on t2.url='site.com/path/%t1.id%/more'
where t1.id > 9000
dikkat edin:
select t2.*
from t1
join t2 on t2.url = 'site.com/path/' + CAST(t1.id AS VARCHAR(10)) + '/more'
where t1.id > 9000
dikkat edin CAST(t1.id AS VARCHAR(10))
için.
Sen CONCAT kullanabilirsiniz CONCAT
CONCAT('site.com/path/','%', CAST(t1.id AS CHAR(25)), '%','/more')
kullanarak Deneyin ve bunun sayısal argüman karşılık gelen ikili dize forma dönüştürülür. önerilen gibi
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
kullanma concat daha iyi bir sütun int olan "col1" olarak adlandırılan varsa
olsa, böyle dize için döküm:
CONVERT(col1,char)
Örneğin
CONVERT(col1,char) LIKE '%9%'
sorguyu kullanabilirsiniz char numarasını dönüştürmek için: Bu bir int değeri böyle (burada 9) Başka bir değeri içeren bir kontrol etmenizi sağlar
select CAST(id as CHAR(10)) from table;
Bu soru 5 yaşında, ve bu konudaki sizinkilere zaten benzer cevaplar var. Cevabınız bu konuya ne katar? – GrumpyCrouton