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;