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.

Author: Rocshy, 2012-08-16

5 answers

Por aqui.
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
 24
Author: Taryn, 2012-08-16 14:35:05
Sim, podes fazer.

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)

 4
Author: hims056, 2012-08-16 14:38:23

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

 0
Author: PoeHaH, 2012-08-16 14:39:31

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>) . . .)
 0
Author: Gordon Linoff, 2012-08-16 15:09:29

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,
 0
Author: Lucas Steffen, 2014-10-31 13:23:04