ORDER BY NAO ESTOU CONSEGUINDO

RICART 17/05/2012 21:07:49
#402225
Vc precisa informar qual é o banco de dados, pois precisará fazer a conversão do tipo de dados. Agora, se vc estiver utilizando esses dados em um datagrid, seria interessante vc utilizar dataview. Com o dataview é possível fazer ordenações via código de forma simples e passar os dados para datagrid e outros. De qualquer forma, é interessante vc já trazer os dados convertidos pela sql do banco de dados.

Essa conversão será diferente, dependendo do banco.
PERCIFILHO 18/05/2012 07:50:17
#402229
Olá, amigos. Estou preso nisso aqui.
Tentei usando o Convert(numeric, campo) e também usando o Cast(campo as numeric), porém, das duas maneiras, me dá a mensagem [Ô]Erro ao converter o tipo de dados varchar para numeric.
Acontece que quem desenhou a tabela não fui eu. Eu já peguei o [Ô]bonde andando[Ô]. Mas agora a tabela já está com bastante registros e eu preciso fazer essa consulta.
Se alguém mais tiver outras idéias, fico aguardando. Enquanto isso vou tentando aqui também
Obrigado por enquanto.
Até mais.
FFCOUTO 18/05/2012 10:37:29
#402235
Tente

SELECT * FROM tabela ORDER BY CAST(medida AS float)


ou

SELECT * FROM tabela ORDER BY CONVERT(float, medida)


KERPLUNK 18/05/2012 10:44:28
#402239
Citação:

Tentei usando o Convert(numeric, campo) e também usando o Cast(campo as numeric), porém, das duas maneiras, me dá a mensagem [Ô]Erro ao converter o tipo de dados varchar para numeric.


Este é o maior problema de não utilizar o tipo de dados correto. Em algum(ou alguns) registro da sua tabela, o valor não pode ser convertido para número.
VCFSILVA1208 18/05/2012 11:11:58
#402243
Amigo,

Tente assim:

SELECT * FROM TABELA ORDER BY CONVERT(NUMERIC, REPLACE(MEDIDA,[ô],[ô],[ô].[ô])) ASC

Substituindo a virgula [Ô],[Ô] pelo ponto [Ô].[Ô]

Victor
Página 2 de 2 [15 registro(s)]
Tópico encerrado , respostas não são mais permitidas