ORDER BY NAO ESTOU CONSEGUINDO
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.
Essa conversão será diferente, dependendo do banco.
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.
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.
Tente
ou
SELECT * FROM tabela ORDER BY CAST(medida AS float)
ou
SELECT * FROM tabela ORDER BY CONVERT(float, medida)
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.
Amigo,
Tente assim:
SELECT * FROM TABELA ORDER BY CONVERT(NUMERIC, REPLACE(MEDIDA,[ô],[ô],[ô].[ô])) ASC
Substituindo a virgula [Ô],[Ô] pelo ponto [Ô].[Ô]
Victor
Tente assim:
SELECT * FROM TABELA ORDER BY CONVERT(NUMERIC, REPLACE(MEDIDA,[ô],[ô],[ô].[ô])) ASC
Substituindo a virgula [Ô],[Ô] pelo ponto [Ô].[Ô]
Victor
Tópico encerrado , respostas não são mais permitidas