create table personas (
id SERIAL NOT NULL,
rut varchar(15) NULL,
nombre varchar(30) NULL,
apaterno varchar(30) NULL,
amaterno varchar(30) NULL,
fecha_nac date NULL,
hora_nac time NULL,
sexo varchar(1) NULL,
direccion varchar(30) NULL,
ciudad varchar(30) NULL,
telefono integer NULL,
created timestamp NOT NULL,
modified timestamp NULL,
constraint pk_personas primary key (id)
);
De esta tabla se rescataran cada uno de los campos de la creación del registro por separados y a demás se obtendrá el día de la semana al que corresponde la fecha de creación del registro.
SELECT
rut,
extract(year from created)::int as anyo,
extract(month from created)::int as mes,
extract(day from created)::int as dia,
extract(hour from created)::int as hour,
extract(minute from created)::int as minuto,
extract(second from created)::int as segundo,
CASE extract(dow from created)
WHEN 0 THEN 'Domingo'
WHEN 1 THEN 'Lunes'
WHEN 2 THEN 'Martes'
WHEN 3 THEN 'Miercoles'
WHEN 4 THEN 'Jueves'
WHEN 5 THEN 'Viernes'
WHEN 6 THEN 'Sabado'
END
as dow
FROM
personas
;
Con esta consulta se obtiene toda la fecha de creación desglosada completamente, a demás permite obtener el día de la semana en que fue creado utilizando el CASE que permite seleccionar entre los valores el valor obtenidos y lo convierte en una cadena con el nombre del día.
extract(campo from fuente)
Recupera los valores de una fecha/hora, donde la fuente es un campo del tipo de dato fecha/hora, en este caso en particular un timestamp, mientras que el campo es el tipo de valor recuperado de la fecha, los campos existentes en las variables de fecha/hora son los siguientes:
- century: devuelve el siglo de la fecha, no existe siglo 0, solo existe desde el -1 al 1. Ej. el año 2000 es el siglo 20, mientras que el año 2001 es el siglo 21.
- day: devuelve el día del mes, va desde el 1 al 31 según el mes que corresponda.
- decade: divide el campo del año en 10. Ej. el año 2001 sería la decada 200.
- dow: devuelve el día de la semana que va desde 0 a 6, donde el 0 corresponde al domingo.
- doy: devuelve el día del año que va desde 1 al 365/366 según corresponda.
- epoch: devuelve el numero de segundos desde el 1970-01-01. Este valor puede ser negativo.También se puede utilizar para obtener el numero de segundos en un intervalo de tiempo. Ej. SELECT EXTRACT(EPOCH FROM INTERVAL'5 day 3 hours');
- hour: devuelve la hora de la fecha, este valor esta entre 0 y 23.
- microseconds: El tiempo en segundos, incluyendo la parte fraccionaria multiplicada por 1.000.000.
- millennium: devuelve el valor del milenio del año. Ej. el año 1990 es el milenio 2 y el año 2001 es el milenio 3.
- milliseconds: devuelve los segundos del campo tiempo multiplicado por 1.000.
- minute: devuelve los minutos del campo, este valor esta definido entre 0 y 59.
- month: Para valores timestamp, devuelve el numero del mes sin el año, los valores están definidos entre 0 y 12. También permite obtener intervalos de meses. Ej. SELECT EXTRACT (MONTH FROM INTERVAL '2 years 3 months');
- quarter: Divide el año en cuatro y devuelve valores entre 1 y 4, según el intervalo en que se encuentre el día en el año.
- second: devuelve la cantidad de segundos incluyendo la parte fraccionaria del campo.
- timezone: La zona horaria en UTC, medida en segundos, los valores positivos corresponden a la zona horaria este de UTC y los valores negativos a la zona horaria oeste de UTC.
- timezone_hour: La hora correspondiente de la zona horaria.
- timezone_minute: Los minutos correspondientes a la zona horaria.
- week: El número de la semana del año.
- year: devuelve el año de la fecha, no hay año 0, así que hay años antes de Cristo y después de Cristo.
WinStar World Casino & Hotel | A World of Exciting Slot Games
ResponderEliminarWinStar World Casino & 레드 벨벳 러시안 룰렛 Hotel 드래곤 타이거 is 윈윈 벳 먹튀 an impressive gaming destination located on the famous 블랙 잭 룰 South Mississippi River. Established sc 벳 in 1988, WinStar World Casino & Hotel