2010-07-31 16 views
9

¿Qué tipo de datos debo usar para que una columna SQL almacene la versión del producto, por ej.Tipo de datos SQL para almacenar versiones de compilación

Version 
0.1 
0.1.1 
0.2 
1.1 
1.1.647 
2.0 
..... 

En consulta yo debería ser capaz de ordenarlos en función del número de versión y quiero una consulta óptimo para encontrar el número más alto.

Gracias

Respuesta

11

me considerarían almacenar cada parte del número en un campo TINYINT separada/SMALLINT.

8

Tal vez tienen tres o cuatro campos numéricos a la tabla de versiones:

Major, Minor, Revision, Build 
3

El almacenamiento en los campos numéricos separados es una buena idea. Almacenar como una cadena en un solo campo romperá la clasificación cuando una de las partes llegue a 1000. Por ejemplo, 1.2.999 aparecerá antes (o se mostrará como más reciente que) 1.2.1000 cuando aparezca después.

1

Una buena solución sería utilizar un número entero construir el valor para almacenar de esta manera:

MAJOR * 10000 + MINOR * 100 + Revision 

Suponiendo que cada uno puede variar de 0..99. Si quieres ir 0..999 uso

MAJOR * 1000000 + MINOR * 1000 + Revision 

Esto separado la ropa adecuadamente, consultará con facilidad, es compacto (1 int columna), se descompone con facilidad e incluso se puede descomponer visualmente.

Cuestiones relacionadas