int到mysql中的字符串

20 mysql

可以这样做吗?基本上我想将一个int转换为一个字符串并在连接上使用该字符串.注意%t1.id%

select t2.* 
from t1 
join t2 on t2.url='site.com/path/%t1.id%/more' 
where t1.id > 9000
Run Code Online (Sandbox Code Playgroud)

And*_* L. 40

如果你有一个名为"col1"的列,它是int,你将它转换为String,如下所示:

CONVERT(col1,char)
Run Code Online (Sandbox Code Playgroud)

例如,这允许您检查一个int值是否包含另一个值(此处为9),如下所示:

CONVERT(col1,char) LIKE '%9%'
Run Code Online (Sandbox Code Playgroud)


xda*_*azz 13

您可以使用CONCAT,并将其数字参数转换为其等效的二进制字符串形式.

select t2.* 
from t1 join t2 
on t2.url=CONCAT('site.com/path/%', t1.id, '%/more') where t1.id > 9000
Run Code Online (Sandbox Code Playgroud)


Joh*_*Woo 6

尝试使用CONCAT

CONCAT('site.com/path/','%', CAST(t1.id AS CHAR(25)), '%','/more')
Run Code Online (Sandbox Code Playgroud)


小智 5

select t2.* 
from t1 join t2 on t2.url='site.com/path/%' + cast(t1.id as varchar)  + '%/more' 
where t1.id > 9000
Run Code Online (Sandbox Code Playgroud)

不过,像建议的那样使用 concat 会更好


Mah*_*mal 2

你可以这样做:

select t2.*
from t1
join t2 on t2.url = 'site.com/path/' + CAST(t1.id AS VARCHAR(10)) + '/more' 
where t1.id > 9000
Run Code Online (Sandbox Code Playgroud)

注意CAST(t1.id AS VARCHAR(10))