int到mysql中的字符串

时间:2012-10-10 14:15:17

标签: mysql

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

select t2.* 
from t1 
join t2 on t2.url='site.com/path/%t1.id%/more' 
where t1.id > 9000

5 个答案:

答案 0 :(得分:37)

如果您有一个名为“col1”的列为int,则将其转换为String,如下所示:

CONVERT(col1,char)

e.g。这允许你检查一个int值是否包含另一个值(这里是9),如下所示:

CONVERT(col1,char) LIKE '%9%'

答案 1 :(得分:11)

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

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

答案 2 :(得分:3)

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

使用concat之类的建议甚至更好

答案 3 :(得分:2)

使用CONCAT

尝试
CONCAT('site.com/path/','%', CAST(t1.id AS CHAR(25)), '%','/more')

答案 4 :(得分:0)

你可以这样做:

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))