sql como lançar uma pesquisa selecionada
é possível aplicar a função cast a uma instrução seleccionada? Em caso afirmativo, como? Eu tenho uma consulta que retorna um número que eu tenho que usar uma string para obter outras informações de outra tabela.
5 answers
SELECT cast(yourNumber as varchar(10))
FROM yourTable
Então, se quiser JOIN
com base nele, pode usar:
SELECT *
FROM yourTable t1
INNER JOIN yourOtherTable t2
on cast(t1.yourNumber as varchar(10)) = t2.yourString
Sintaxe para CAST
:
CAST ( expression AS data_type [ ( length ) ] )
Por exemplo:
CAST(MyColumn AS Varchar(10))
CAST
em SELECT
Declaração:
Select CAST(MyColumn AS Varchar(10)) AS MyColumn
FROM MyTable
Ver para mais informações CAST e CONVERT (Transact-SQL)
Se está a usar SQL (que não disse):
select cast(column as varchar(200)) from table
Você pode usá-lo em qualquer declaração, por exemplo:
select value where othervalue in( select cast(column as varchar(200)) from table)
from othertable
Se você quiser fazer uma consulta de adesão, a resposta já está aqui em outro post:)
Eu interpretei a pergunta Como usando gesso em um subcontingente. Sim, podes fazer isso.
select cast((<subquery>) as <newtype>)
Se o fizer, então terá de ter a certeza de que devolve uma linha e um valor. E, uma vez que ele devolve um valor, você poderia colocar o elenco no subquery em vez disso:
select (select cast(<val> as <newtype>) . . .)
E quando usar uma caixa:
CASE
WHEN TB1.COD IS NULL THEN
TB1.COD || ' - ' || TB1.NAME
ELSE
TB1.COD || ' - ' || TB1.NAME || ' - ' || TB.NM_TABELAFRETE
END AS NR_FRETE,