CHAR es una longitud fija de datos. Si no se especifica un tamaño máximo, el valor por defecto es 1. El tamaño máximo para un carácter en una columna es de 2000 bytes y 32767 en PL / SQL.
Yo bastante considerar CHAR a ser un legado de datos. Algunas personas utilizan CHAR (1) para almacenar indicadores (Y, N, etc) o como una tabla BOOLEAN. Prefiero usar VARCHAR2 incluso en esos casos.
Un caso que puede estar justificada (en mi opinión, de todos modos, esta es mi opinión) sería rellenar los datos desde o hacia un modelo de informe que tendrá que ser reproducida. Por ejemplo, si lee un archivo de longitud fija, y puede que necesite para generar el archivo de longitud fija que en el futuro, que se va a guardar su conversión de algunos generales por el almacenamiento de los datos en una longitud fija de datos (es decir CHAR).
Una de las áreas que la gente meterse en problemas son CHAR y VARCHAR2 comparaciones. Si se quede con VARCHAR2, usted no tendrá problemas.
Saturday, October 13, 2007
What is the CHAR Datatype?
¿Cuál es la FECHA Dato?
DATE El dato es un dato fecha. Almacena una fecha y una hora. La fecha parte se basa en el número de días desde el 1 de enero de 4712 aC. El tiempo se basa en el número de segundos desde mediados de la noche.
Un campo de fecha se declara como una variable seguida por el nombre DATE palabra clave:
v_date_field DATE;
No hay "correcto" el formato de una fecha. El formato está determinada por varios factores. En la base de datos, se puede establecer que la NLS_DATE_FORMAT. Independientemente de cómo se establece el valor por defecto en su base de datos, siempre debe asegurarse de que explícitamente el uso de un formato de fecha al convertir la máscara.
Voy a cubrir funciones de la conversión de todos los tipos de datos en un futuro artículo, pero creo que esto es importante. Si necesita comparar una fecha para un literal, asegúrese de usar un formato de fecha máscara. Usted podría decir:
WHERE date_field = '01-01-1999'
O usted podría decir:
WHERE date_field = to_date('01-01-1999', 'DD-MM-YYYY')
Y eso nos lleva a la razón por la que utilizar un DATE lugar de un personaje o de un campo numérico. Yo estoy a menudo preguntó acerca de las mejores prácticas, con fechas y horas. Por alguna razón, nunca he entendido, algunas personas consideran que el almacenamiento de las fechas y horas como el número de caracteres y es mejor que la de Oracle que permite que los datos que manejan en un formato nativo. Llámame vago, pero si Oracle puede hacerlo por mí, voy a dejarlo.
A modo de ejemplo, digamos que usted desea añadir 1 día a la fecha. Si esa fecha se almacena en un personaje sobre el terreno, usted tendría que hacer algún tipo de transformación y manipulación de lograr eso. Si usamos una fecha sobre el terreno, es tan fácil como date_field + 1. ¿Cómo lograr la adición de una hora? El uso de un tipo de la fecha, no puedo añadir date_field + 1 / 24. Es decir, añadir un 1 a 1 día y obtener añadir 1/24th de un día llegar hasta 1 hora. Para añadir 2 horas, yo añadiría date_field + 2 / 24. ¿Cómo hacerlo con un carácter sobre el terreno?
Reconozco si almacena los datos en un campo numérico, que puede ser más fácil de almacenar como un personaje. En ese caso, la adición de 1 día o 1 hora podría ser bastante fácil. Pero, ¿cómo se puede añadir 3 meses? Con un campo de fecha, se utiliza add_months (date_field, 3). ¿Cómo restar 3 meses? Con un campo de fecha, se utiliza add_months (date_field, -3). ¿Cómo obtener el último día del mes en un campo de fecha? Con un campo de fecha, se puede decir last_day (date_field). La lista va en un sobre.
Aquí está una de las normas más importantes que usted puede aprender acerca de cómo utilizar una base de datos. Si puede hacerlo por ti, y mucho. Si se trata de la fecha o la hora, por no hablar de que la gestión de la base de datos para usted. Gastar su tiempo escribiendo aplicaciones, y no bajo nivel de apoyo rutinas.
Algunas normas acerca de la fecha en que las matemáticas son cuando usted restar una fecha a partir de la fecha, se obtiene un número de días. Al restar el número de una fecha, se obtiene una fecha menos de la fecha de inicio. Cuando se añade un número a la fecha, se obtiene una fecha posterior a la fecha de inicio. No se puede añadir una fecha a fecha.