Pular para o conteúdo
  • Este tópico contém 4 respostas, 3 vozes e foi atualizado pela última vez 10 anos atrás por Avatar de Fábio PradoFábio Prado.
Visualizando 5 posts - 1 até 5 (de 5 do total)
  • Autor
    Posts
  • #107117
    Avatar de Paulo WerneckPaulo Werneck
    Participante

      Amigos, bom dia

      Existe a possibilidade de fazer um order by por uma posição no campo?

      Exemplo:

      quero que seja ordenado pelo código, pegando apenas os 2 primeiros caracteres dos registros no campo, caso os dois primeiros sejam iguais ele pularia o terceiro caracter e passaria para outro campo do order by

      #107120
      Avatar de rmanrman
      Participante

        @luckzin

        O que exatamente você quer resolver?

        Verifique se isso já resolve.


        SELECT CODIGO,NOME,SOBRENOME
        FROM CLIENTES
        ORDER BY CODIGO,NOME,SOBRENOME

        #107121
        Avatar de Paulo WerneckPaulo Werneck
        Participante

          @rman

          aí eu estou usando um order by comum.
          Quero saber se existe uma forma de dizer pro order by que em determinado campo eu só quero que ordene os dois primeiros caracteres, por exemplo.

          #107123
          Avatar de rmanrman
          Participante

            @luckzin

            Você pode fatiar o VARCHAR2 e ordenar por esse campo.


            SELECT CODIGO,NOME,SUBSTR(NOME,1,2) X,SOBRENOME
            FROM CLIENTES
            ORDER BY X

            #107146
            Avatar de Fábio PradoFábio Prado
            Participante

              @luckzin

              Só p/ complementar o que o @rman informou, você também poderia truncar o campo VARCHAR2 diretamente na cláusula ORDER BY, como no exemplo abaixo:


              SELECT CODIGO, NOME, NOME, SOBRENOME
              FROM CLIENTES
              ORDER BY SUBSTR(NOME,1,2)

              []s

            Visualizando 5 posts - 1 até 5 (de 5 do total)
            • Você deve fazer login para responder a este tópico.
            plugins premium WordPress