int to string в mysql

Можно ли сделать что-то подобное? По сути, я хочу использовать int в строке и использовать строку для соединения. Обратите внимание на %t1.id%

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

Ответ 1

Если у вас есть столбец с именем "col1", который является int, вы передаете его в String следующим образом:

CONVERT(col1,char)

например, это позволяет проверить значение int, содержащее другое значение (здесь 9), например:

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

Ответ 2

Вы можете использовать CONCAT, и его числовой аргумент преобразуется в эквивалентную двоичную строчную форму.

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

Ответ 3

Попробуйте использовать CONCAT

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

Ответ 4

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

Использование concat, как предлагается, еще лучше, хотя

Ответ 5

Вы можете сделать это:

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

Ответ 6

для преобразования числа в char вы можете использовать запрос:

select CAST(id as CHAR(10)) from table;