Rumah pangkalan data tutorial mysql oracle增强型时间类型以及postgresql时间类型

oracle增强型时间类型以及postgresql时间类型

Jun 07, 2016 pm 03:03 PM
oracle postgresql masa menaip

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入 1 row created. SQL select * from test_zone; TIMESTAMP_DT ZONE_DT LOCAL_ZONE_DT ----------------------------------- ----------------------------------- ---------------------------------

欢迎进入Oracle社区论坛,与200万技术人员互动交流 >>进入


    1 row created.
    SQL> select * from test_zone;
    TIMESTAMP_DT                        ZONE_DT                             LOCAL_ZONE_DT
    ----------------------------------- ----------------------------------- -----------------------------------
    06-SEP-12 01.50.10.000000 PM        06-SEP-12 01.50.10.000000 PM +08:00 06-SEP-12 01.50.10.000000 PM
    01-JAN-09 12.00.00.000000 AM        01-JAN-09 12.00.00.000000 AM +08:00 01-JAN-09 05.01.01.000000 PM
    SQL> alter session set time_zone='+05:00';
    Session altered.
    SQL> select * from test_zone;
    TIMESTAMP_DT                        ZONE_DT                             LOCAL_ZONE_DT (提前了三个小时)
    ----------------------------------- ----------------------------------- -----------------------------------
    06-SEP-12 01.50.10.000000 PM        06-SEP-12 01.50.10.000000 PM +08:00 06-SEP-12 10.50.10.000000 AM
    01-JAN-09 12.00.00.000000 AM        01-JAN-09 12.00.00.000000 AM +08:00 01-JAN-09 02.01.01.000000 PM
    SQL> select * from v$timezone_names where rownum    TZNAME                                                           TZABBREV
    ---------------------------------------------------------------- ----------------------------------------------------------------
    Africa/Abidjan                                                   LMT
    Africa/Abidjan                                                   GMT
    Africa/Accra                                                     LMT
    Africa/Accra                                                     GMT
    Africa/Accra                                                     GHST
    Africa/Addis_Ababa                                               LMT
    Africa/Addis_Ababa                                               ADMT
    Africa/Addis_Ababa                                               EAT
    Africa/Algiers                                                   LMT
    SQL> select tz_offset('Africa/Accra') from dual;
    TZ_OFFS
    -------
    +00:00
    alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';--设置会话日期显示格式
    SQL> select to_timestamp('20120909 00:01:02.123456789','yyyymmdd hh24:mi:ss.ff') from dual; --to_timestamp函数使用
    TO_TIMESTAMP('2012090900:01:02.123456789','YYYYMMDDHH24:MI:SS.FF')
    ---------------------------------------------------------------------------
    09-SEP-12 12.01.02.123456789 AM
    SQL> select to_timestamp_tz('20120909 00:01:02.123456789 0:0','yyyymmdd hh24:mi:ss.ff tzh:tzm') from dual; --to_timestamp_tz使用
    TO_TIMESTAMP_TZ('2012090900:01:02.1234567890:0','YYYYMMDDHH24:MI:SS.FFTZH:T
    ---------------------------------------------------------------------------
    09-SEP-12 12.01.02.123456789 AM +00:00
    postgresql时间类型:9.1.2版本
    名字 存储空间 描述 最低值 最高值 分辨率
    timestamp[无时区] 8字节 包括日期和时间 4713 BC 5874897AD 1毫秒/14位
    timestamp[含时区] with time zone 8字节 日期和时间,带时区 4713 BC 5874897AD 1毫秒/14位
    interval 12字节 时间间隔 -178000000年 178000000年 1毫秒/14位
    date 4字节 只用于日期 4713 BC 32767AD 1天
    time[无时区] 8字节 只用于一日内时间 00:00:00 24:00:00 1毫秒/14位
    postgres=# select current_timestamp; --可以看到精度6位,显示时区+8,和oracle的timestamp with time zone类型是一致的
    now
    -------------------------------
    2012-09-06 14:04:51.363932+08
    postgres=# create table test_t (time_col time,date_col date,timestamp_col  timestamp);类型区别
    CREATE TABLE
    postgres=# insert into test_t values(now(),now(),now());
    INSERT 0 1
    postgres=# select * from test_t;
    time_col     |  date_col  |       timestamp_col
    -----------------+------------+----------------------------
    14:19:24.277477 | 2012-09-06 | 2012-09-06 14:19:24.277477
    (1 row)
    精度和时区的控制:
    postgres=# create table test_t1 (time_col time,date_col date,timestamp_col timestamp,timestamp_col0 timestamp(0) without time zone);
    CREATE TABLE
    postgres=# insert into test_t1 values(now(),now(),now(),now());
    INSERT 0 1
    postgres=# select * from test_t1;
    time_col     |  date_col  |       timestamp_col        |   timestamp_col0
    -----------------+------------+----------------------------+---------------------
    14:34:59.840947 | 2012-09-06 | 2012-09-06 14:34:59.840947 | 2012-09-06 14:35:00
    postgres=# alter table test_t1 add column timestamp_col1 timestamp(0) with time zone;
    ALTER TABLE
    postgres=# insert into test_t1 values(now(),now(),now(),now(),now());
    INSERT 0 1
    postgres=# select * from test_t1;
    time_col     |  date_col  |       timestamp_col        |   timestamp_col0    |     timestamp_col1
    -----------------+------------+----------------------------+---------------------+------------------------
    14:34:59.840947 | 2012-09-06 | 2012-09-06 14:34:59.840947 | 2012-09-06 14:35:00 |
    14:36:31.265579 | 2012-09-06 | 2012-09-06 14:36:31.265579 | 2012-09-06 14:36:31 | 2012-09-06 14:36:31+08
    由此可见,timestamp本身不带时区,但是带精度,如果需要带时区,那么加上with time zone即可
    postgres=# select now()::timestamp(0) without time zone;
    now
    ---------------------
    2012-09-06 14:42:12

  [1] [2] 

oracle增强型时间类型以及postgresql时间类型

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Artikel Panas

R.E.P.O. Kristal tenaga dijelaskan dan apa yang mereka lakukan (kristal kuning)
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Tetapan grafik terbaik
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Cara Memperbaiki Audio Jika anda tidak dapat mendengar sesiapa
3 minggu yang lalu By 尊渡假赌尊渡假赌尊渡假赌

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Berfungsi untuk mengira bilangan hari antara dua tarikh dalam oracle Berfungsi untuk mengira bilangan hari antara dua tarikh dalam oracle May 08, 2024 pm 07:45 PM

Fungsi dalam Oracle untuk mengira bilangan hari antara dua tarikh ialah DATEDIFF(). Penggunaan khusus adalah seperti berikut: Tentukan unit selang masa: selang (seperti hari, bulan, tahun) Tentukan dua nilai tarikh: tarikh1 dan tarikh2DATEDIFF(selang, tarikh1, tarikh2) Kembalikan perbezaan hari

Berapa lama log pangkalan data Oracle akan disimpan? Berapa lama log pangkalan data Oracle akan disimpan? May 10, 2024 am 03:27 AM

Tempoh pengekalan log pangkalan data Oracle bergantung pada jenis log dan konfigurasi, termasuk: Buat semula log: ditentukan oleh saiz maksimum yang dikonfigurasikan dengan parameter "LOG_ARCHIVE_DEST". Log buat semula yang diarkibkan: Ditentukan oleh saiz maksimum yang dikonfigurasikan oleh parameter "DB_RECOVERY_FILE_DEST_SIZE". Log buat semula dalam talian: tidak diarkibkan, hilang apabila pangkalan data dimulakan semula dan tempoh pengekalan adalah konsisten dengan masa berjalan contoh. Log audit: Dikonfigurasikan oleh parameter "AUDIT_TRAIL", dikekalkan selama 30 hari secara lalai.

Urutan langkah permulaan pangkalan data oracle ialah Urutan langkah permulaan pangkalan data oracle ialah May 10, 2024 am 01:48 AM

Urutan permulaan pangkalan data Oracle ialah: 1. Semak prasyarat 2. Mulakan pendengar 3. Mulakan contoh pangkalan data 5. Sambungkan ke pangkalan data; . Dayakan perkhidmatan (jika perlu );

Cara menggunakan selang dalam oracle Cara menggunakan selang dalam oracle May 08, 2024 pm 07:54 PM

Jenis data INTERVAL dalam Oracle digunakan untuk mewakili selang masa Sintaksnya ialah INTERVAL <precision> <unit> Anda boleh menggunakan operasi tambah, tolak, darab dan bahagi untuk mengendalikan INTERVAL, yang sesuai untuk senario seperti menyimpan data masa dan. mengira perbezaan tarikh.

Berapa banyak memori yang diperlukan oleh oracle? Berapa banyak memori yang diperlukan oleh oracle? May 10, 2024 am 04:12 AM

Jumlah memori yang diperlukan oleh Oracle bergantung pada saiz pangkalan data, tahap aktiviti dan tahap prestasi yang diperlukan: untuk menyimpan penimbal data, penimbal indeks, melaksanakan pernyataan SQL dan mengurus cache kamus data. Jumlah yang tepat dipengaruhi oleh saiz pangkalan data, tahap aktiviti dan tahap prestasi yang diperlukan. Amalan terbaik termasuk menetapkan saiz SGA yang sesuai, saiz komponen SGA, menggunakan AMM dan memantau penggunaan memori.

Bagaimana untuk melihat bilangan kemunculan watak tertentu dalam Oracle Bagaimana untuk melihat bilangan kemunculan watak tertentu dalam Oracle May 09, 2024 pm 09:33 PM

Untuk mencari bilangan kemunculan aksara dalam Oracle, lakukan langkah-langkah berikut: Dapatkan jumlah panjang rentetan Dapatkan panjang subrentetan di mana aksara berlaku; daripada jumlah panjang.

Bagaimana untuk menggantikan rentetan dalam oracle Bagaimana untuk menggantikan rentetan dalam oracle May 08, 2024 pm 07:24 PM

Kaedah menggantikan rentetan dalam Oracle adalah dengan menggunakan fungsi REPLACE Sintaks fungsi ini ialah: REPLACE(string, search_string, replace_string). Langkah penggunaan: 1. Kenal pasti subrentetan yang akan diganti; Penggunaan lanjutan termasuk: penggantian berbilang, kepekaan huruf besar, penggantian aksara khas, dsb.

Keperluan konfigurasi perkakasan pelayan pangkalan data Oracle Keperluan konfigurasi perkakasan pelayan pangkalan data Oracle May 10, 2024 am 04:00 AM

Keperluan konfigurasi perkakasan pelayan pangkalan data Oracle: Pemproses: berbilang teras, dengan frekuensi utama sekurang-kurangnya 2.5 GHz Untuk pangkalan data yang besar, 32 teras atau lebih disyorkan. Memori: Sekurang-kurangnya 8GB untuk pangkalan data kecil, 16-64GB untuk saiz sederhana, sehingga 512GB atau lebih untuk pangkalan data yang besar atau beban kerja yang berat. Storan: Cakera SSD atau NVMe, tatasusunan RAID untuk lebihan dan prestasi. Rangkaian: Rangkaian berkelajuan tinggi (10GbE atau lebih tinggi), kad rangkaian khusus, rangkaian kependaman rendah. Lain-lain: Bekalan kuasa yang stabil, komponen berlebihan, sistem pengendalian dan perisian yang serasi, pelesapan haba dan sistem penyejukan.

See all articles