English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
下表演示了基本算术操作符的行为(+,*, 等):
操作符 | 实例 | 结果 |
---|---|---|
+ | date '2001-09-28' + integer '7' | date '2001-10-05' |
+ | date '2001-09-28' + interval '1 hour' | timestamp '2001-09-28 01:00:00' |
+ | date '2001-09-28' + time '03:00' | timestamp '2001-09-28 03:00:00' |
+ | interval '1 day' + interval '1 hour' | interval '1 día 01:00:00' |
+ | timestamp '2001-09-28 01:00' + interval '23 hours' | timestamp '2001-09-29 00:00:00' |
+ | time '01:00' + interval '3 hours' | time '04:00:00' |
- | - interval '23 hours' | interval '-23:00:00' |
- | date '2001-10-01' - date '2001-09-28' | integer '3' (days) |
- | date '2001-10-01' - integer '7' | date '2001-09-24' |
- | date '2001-09-28' - interval '1 hour' | timestamp '2001-09-27 23:00:00' |
- | time '05:00' - time '03:00' | interval '02:00:00' |
- | time '05:00' - interval '2 hours' | time '03:00:00' |
- | timestamp '2001-09-28 23:00' - interval '23 hours' | timestamp '2001-09-28 00:00:00' |
- | interval '1 day' - interval '1 hour' | interval '1 day -01:00:00' |
- | timestamp '2001-09-29 03:00' - timestamp '2001-09-27 12:00' | interval '1 day 15:00:00' |
* | 900 * interval '1 second' | interval '00:15:00' |
* | 21 * interval '1 day' | interval '21 days' |
* | double precision '3.5' * interval '1 hour' | interval '03:30:00' |
/ | interval '1 hour' / double precision '1.5' | interval '00:40:00' |
函数 | 返回类型 | 描述 | 实例 | 结果 |
---|---|---|---|---|
age(timestamp, timestamp) | intervalo | 减去参数后的"符号化"结果,使用年和月,不只是使用天 | age(timestamp '2001-04-10', timestamp '1957-06-13') | 43 años 9 mons 27 días |
age(timestamp) | intervalo | 从current_date减去参数后的结果(在午夜) | age(timestamp '1957-06-13') | 43 años 8 mons 3 días |
clock_timestamp() | timestamp with time zone | El timestamp actual del reloj de tiempo real (cambia en el momento de la ejecución de la sentencia)} | ||
current_date | fecha | La fecha actual; | ||
current_time | tiempo con zona horaria | Tiempo actual del día; | ||
current_timestamp | timestamp with time zone | Timestamp cuando comienza la transacción actual; | ||
date_part(text, timestamp) | precisión double | Obtener el subdominio (equivalente a extract); | date_part('hour', timestamp '2001-02-16 20:38:40') | 20 |
date_part(text, interval) | precisión double | Obtener el subdominio (equivalente a extract); | date_part('month', interval '2 años 3 meses') | 3 |
date_trunc(text, timestamp) | timestamp | Cortar a la precisión especificada; | date_trunc('hour', timestamp '2001-02-16 20:38:40') | 2001-02-16 20:00:00 |
date_trunc(text, interval) | intervalo | Cortar a la precisión especificada, | date_trunc('hour', interval '2 días 3 horas 40 minutos') | 2 días 03:00:00 |
extraer(campo de timestamp) | precisión double | Obtener el subdominio; | extraer(hora de timestamp '2001-02-16 20:38:40') | 20 |
extraer(campo de interval) | precisión double | Obtener el subdominio; | extraer(month de interval '2 años 3 meses') | 3 |
isfinite(date) | boolean | Probar si la fecha es finita (no +/-infinito) | isfinite(date '2001-02-16') | true |
isfinite(timestamp) | boolean | Probar si el timestamp es finito (no +/-infinito) | isfinite(timestamp '2001-02-16 21:28:30') | true |
isfinite(interval) | boolean | Probar si el intervalo de tiempo es finito | isfinite(interval '4 horas') | true |
justify_days(interval) | intervalo | según cada mes 30 días ajuste el intervalo de tiempo | justify_days(interval '35 días') | 1 mon 5 días |
justify_hours(interval) | intervalo | según cada día 24 Ajuste el intervalo de tiempo en horas | justify_hours(interval '27 horas') | 1 día 03:00:00 |
justify_interval(interval) | intervalo | Ajuste el intervalo de tiempo utilizando justify_days y justify_hours al mismo tiempo que ajusta los signos positivo y negativo | justificar_interval(interval ')1 mon -1 hour') | 29 días 23:00:00 |
localtime | tiempo | Tiempo actual del día; | ||
localtimestamp | timestamp | Timestamp cuando comienza la transacción actual; | ||
make_date(year int, month int, día int) | fecha | Crear una fecha para los campos año, mes y día. | make_date(2013, 7, 15) | 2013-07-15 |
make_interval(years int DEFAULT 0, months int DEFAULT 0, weeks int DEFAULT 0, days int DEFAULT 0, hours int DEFAULT 0, mins int DEFAULT 0, secs double precision DEFAULT 0.0) | intervalo | Crear un intervalo a partir de los campos año, mes, semana, día, hora, minuto y segundo. | make_interval(days := 10) | 10 días |
make_time(hour int, min int, sec double precision) | tiempo | Crear un tiempo a partir de los campos hora, minuto y segundo. | make_time(8, 15, 23.5) | 08:15:23.5 |
make_timestamp(year int, month int, day int, hour int, min int, sec double precision) | timestamp | Crear un timestamp a partir de los campos año, mes, día, hora, minuto y segundo. | make_timestamp(2013, 7, 15, 8, 15, 23.5) | 2013-07-15 08:15:23.5 |
make_timestamptz(year int, month int, day int, hour int, min int, sec double precision, [ texto timezone ]) | timestamp with time zone | Crear un timestamp con zona horaria a partir de los campos año, mes, día, hora, minuto y segundo. Si no se especifica timezone, se utiliza la zona horaria actual. | make_timestamptz(2013, 7, 15, 8, 15, 23.5) | 2013-07-15 08:15:23.5+01 |
now() | timestamp with time zone | Timestamp cuando comienza la transacción actual; | ||
statement_timestamp() | timestamp with time zone | Timestamp actual del reloj de tiempo real; | ||
timeofday() | texto | Igual que clock_timestamp, pero el resultado es un texto Cadena; | ||
transaction_timestamp() | timestamp with time zone | Timestamp cuando comienza la transacción actual; |