ORDENACION RARA

03/02/2004 - 19:42 por x | Informe spam
¿Os ha pasado que al ordenar una columna cuyo contenido tenga un guion, lo
ignore ?

Ejemplo:

Si la columna se llama CODIGO

SELECT CODIGO FROM ALMACEN ORDER BY CODIGO

Obtenemos:

B1000
B-1111
B2000
B-2121

Y creo que debería de ser:

B-1111
B-2121
B1000
B2000

??????????????????????????????????????


Utilizo SQL SERVER 2000


SALUDOS.
M.Cuadra

Preguntas similare

Leer las respuestas

#6 Adrian D. Garcia
05/02/2004 - 09:33 | Informe spam
Mi preferencia personal es

Latin1_General_CS_AI

Pero no deja de ser personal ya que siempre depende de lo que tenga
instalado el cliente.
el AI (a diferencia del AS) hace que si busco por "Garcia" sin acento y
encuentra "García" con acento lo tome como igual.

Ahora, habría que ver cual es el COLLATE con el cual esta definida la
columna y ver si es una columna del tipo NCHAR o CHAR (o nvarchar o
varchar).

Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"x" wrote in message news:%
Efectivamente (ya había mirado las propiedades) y claro, cuando creo bases
de datos, siempre dejo esa propiedad sin tocar, es decir, con su valor por
defecto que es "(Predeterminado del Servidor)" y que corresponde en mis
instalaciones a Modern_Spanish_CI_AS. Mi sorpresa es encontrarme un
resultado semejante en las ordenaciones. Ahora me planteo la duda de cual
elegir cuando se instala SQL Server, o cuando cree una nueva base de


datos.
La verdad no veo la razón de esa extraña ordenación con la opción elegida.

Pues ya puestos, os pregunto: ¿QUE OPCION DE ORDENACION PONEIS PARA LAS


B.D.
DE PROPOSITO GENERAL Y EN CASTELLLANO?

Gracias a todos (Maximiliano, Adrian y a los que vengan)
Saludos.


"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> escribió en el
mensaje news:
> Con el permiso de Adrian (ya le pedi tantos permisos que creo que estoy


en
> faltas jeje)
>
> El collate lo puedes usar como dijo tal cual Adrian y es correcto, pero


el
> mismo se define por Default en una Base de datos en el Servidor y hasta


en
> una Columna en particular.
>
> Quizas debas primero ver en la Base de Datos que collate Tienes, esto de
> forma simple lo puedes hacer desde el Admin Coorporativo pulsando el


boton
> alterno del mouse sobre la Base de Datos y viendo sus propiedades, no
> recuerdo bien pero creo que en la solapa General lo tendras como "nombre
de
> intercalacion" o algo asi.
>
> Para cambiarlo a esa Base de datos (antes de hacerlo habria que ver si


no
> afecta a otras cosas) puedes utilizar el comando ALTER DATABASE, te
aconsejo
> que revises tus libros en pantalla de la ayuda donde encontraras
excelentes
> Referencias.
>
> Salu2 muy cordiales
>
> pd: Adrian prometo no tratar de meterme mas ;)
>
> Maximiliano Damian Accotto
>
>
> "x" escribió en el mensaje
> news:%
> > Efectivamente, ahora sale correcto, pero...¿significa eso que tengo


que
> > incluir esta instrucción en todos los ORDER BY? ¿o hay algun parámetro
> > general de la base de datos?
> > Un saludo y gracias por tu ayuda.
> >
> >
> >
> > "Adrian D. Garcia" escribió en el
mensaje
> > news:
> > > Creo que esto tiene que ver con el Collate (intercalacion,
ordenamiento)
> > que
> > > esta definido para esa columna, tabla o base de datos. Prueba de


hacer
> lo
> > > siguiente:
> > >
> > > SELECT CODIGO FROM ALMACEN
> > > ORDER BY CODIGO COLLATE Latin1_General_BIN
> > >
> > > Y cuentanos si obtienes el mismo resultado.
> > >
> > > Saludos
> > > Adrian D. Garcia
> > > MCSD
> > > NDSoft Consultoria y Desarrollo
> > >
> > > "x" wrote in message
news:
> > > > ¿Os ha pasado que al ordenar una columna cuyo contenido tenga un
> guion,
> > lo
> > > > ignore ?
> > > >
> > > > Ejemplo:
> > > >
> > > > Si la columna se llama CODIGO
> > > >
> > > > SELECT CODIGO FROM ALMACEN ORDER BY CODIGO
> > > >
> > > > Obtenemos:
> > > >
> > > > B1000
> > > > B-1111
> > > > B2000
> > > > B-2121
> > > >
> > > > Y creo que debería de ser:
> > > >
> > > > B-1111
> > > > B-2121
> > > > B1000
> > > > B2000
> > > >
> > > > ??????????????????????????????????????
> > > >
> > > >
> > > > Utilizo SQL SERVER 2000
> > > >
> > > >
> > > > SALUDOS.
> > > > M.Cuadra
> > > >
> > > >
> > >
> > >
> >
> >
>
>


Respuesta Responder a este mensaje
#7 Maximiliano D. A.
05/02/2004 - 13:13 | Informe spam
no problem, cuando quieras ;-) solo me dice y nos juntamos atomar Cerbezas o
lo que fuere ;-)

Maximiliano Damian Accotto
Fundicion San Cayetano S.A
4002 - 4010
Gerente de Sistemas
[]


"Adrian D. Garcia" escribió en el mensaje
news:O2L$
Juah! Bueno, cuando este por Buenos Aires me cobrare todos estos permisos


en
cervezas NO virtuales!!!


Saludos
Adrian D. Garcia
MCSD
NDSoft Consultoria y Desarrollo

"Maximiliano D. A." <maxi_accotto[arroba]speedy[.]com[.]ar> wrote in


message
news:
> Con el permiso de Adrian (ya le pedi tantos permisos que creo que estoy


en
> faltas jeje)
>
> El collate lo puedes usar como dijo tal cual Adrian y es correcto, pero


el
> mismo se define por Default en una Base de datos en el Servidor y hasta


en
> una Columna en particular.
>
> Quizas debas primero ver en la Base de Datos que collate Tienes, esto de
> forma simple lo puedes hacer desde el Admin Coorporativo pulsando el


boton
> alterno del mouse sobre la Base de Datos y viendo sus propiedades, no
> recuerdo bien pero creo que en la solapa General lo tendras como "nombre
de
> intercalacion" o algo asi.
>
> Para cambiarlo a esa Base de datos (antes de hacerlo habria que ver si


no
> afecta a otras cosas) puedes utilizar el comando ALTER DATABASE, te
aconsejo
> que revises tus libros en pantalla de la ayuda donde encontraras
excelentes
> Referencias.
>
> Salu2 muy cordiales
>
> pd: Adrian prometo no tratar de meterme mas ;)
>
> Maximiliano Damian Accotto
>
>
> "x" escribió en el mensaje
> news:%
> > Efectivamente, ahora sale correcto, pero...¿significa eso que tengo


que
> > incluir esta instrucción en todos los ORDER BY? ¿o hay algun parámetro
> > general de la base de datos?
> > Un saludo y gracias por tu ayuda.
> >
> >
> >
> > "Adrian D. Garcia" escribió en el
mensaje
> > news:
> > > Creo que esto tiene que ver con el Collate (intercalacion,
ordenamiento)
> > que
> > > esta definido para esa columna, tabla o base de datos. Prueba de


hacer
> lo
> > > siguiente:
> > >
> > > SELECT CODIGO FROM ALMACEN
> > > ORDER BY CODIGO COLLATE Latin1_General_BIN
> > >
> > > Y cuentanos si obtienes el mismo resultado.
> > >
> > > Saludos
> > > Adrian D. Garcia
> > > MCSD
> > > NDSoft Consultoria y Desarrollo
> > >
> > > "x" wrote in message
news:
> > > > ¿Os ha pasado que al ordenar una columna cuyo contenido tenga un
> guion,
> > lo
> > > > ignore ?
> > > >
> > > > Ejemplo:
> > > >
> > > > Si la columna se llama CODIGO
> > > >
> > > > SELECT CODIGO FROM ALMACEN ORDER BY CODIGO
> > > >
> > > > Obtenemos:
> > > >
> > > > B1000
> > > > B-1111
> > > > B2000
> > > > B-2121
> > > >
> > > > Y creo que debería de ser:
> > > >
> > > > B-1111
> > > > B-2121
> > > > B1000
> > > > B2000
> > > >
> > > > ??????????????????????????????????????
> > > >
> > > >
> > > > Utilizo SQL SERVER 2000
> > > >
> > > >
> > > > SALUDOS.
> > > > M.Cuadra
> > > >
> > > >
> > >
> > >
> >
> >
>
>


email Siga el debate Respuesta Responder a este mensaje
Ads by Google
Help Hacer una pregunta AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida