Zielony Smok - logo witryny

Apache Derby: funkcja TIMESTAMP

Opis

Zwraca znacznik czasu z podanej wartości lub pary wartości.

Składnia

TIMESTAMP(val1 [,val2])

Ograniczenia

Jeśli podana jest tylko ‘val1’

‘val1’ – musi być:

  • TIMESTAMP – wynik jest TIMESTAMP
  • łańcuchem znaków będącym poprawnym znacznikiem czasu – wynik jest TIMESTAMP
  • łańcuchem znaków o długości 14 znaków – nie będącym CLOB, LONG VARCHAR ani XML. W tym łańcuchu
    yyyyxxddhhmmss – oznaczają odpowienio: rok (yyyy), miesiąc (xx), dzień (dd), godzinę (hh), minuty (mm) i sekundy (ss) – wynik jest TIMESTAMP z nanosekundami = 0

Jeśli podane są ‘val1’ i ‘val2’

  • ‘val1’ musi być DATE lub łańcuchem znaków reprezentującym poprawną datę
  • ‘val2’ musi być TIME lub łańcuchem znaków reprezentującym poprawny czas
  • Zwracany wynik JEST TIMESTAMP z nanosekundami = 0

Wynik może być NULL

Klasa R080_TIMESTAMP.java
package aderby.functions.datetime;

import aderby.DerbyUtil;

import java.io.*;
import java.sql.*;

public class R080_TIMESTAMP {
    private static final String baza = "C:/Przyklady/r080_timestamp";
    private static final String skrypt = "aderby/src/resources/sqls/daty.sql";
    static final String selectsql1 = "SELECT TIMESTAMP('20131129081543') FROM daty";

    public static void main(String[] args) {
        DerbyUtil.startDerbyEngine(DerbyUtil.embdriver);
        Connection con = DerbyUtil.connectEmbeddedDB(baza, ";create=true");
        DerbyUtil.jdbcRunScript(skrypt, con);
        Statement stat = null;
        ResultSet rs = null;
        try {
            stat = con.createStatement();
            rs = stat.executeQuery(selectsql1);
            rs.next();
            System.out.println(rs.getTimestamp(1));
        } catch (SQLException e) {
            e.printStackTrace();
        }
        DerbyUtil.close(rs);
        DerbyUtil.close(stat);
        DerbyUtil.close(con);
        DerbyUtil.shutdownEmbeddedDB(baza);
        DerbyUtil.shutdownDerbyEngine();
        DerbyUtil.dropDatabase(new File(baza));
    }
}
Plik daty.sql
CREATE TABLE daty(
            id INTEGER NOT NULL PRIMARY KEY GENERATED ALWAYS AS IDENTITY(
                START WITH 1, INCREMENT BY 1),
            data DATE,    
            zdarzenie VARCHAR(64)
);
CREATE INDEX i_data ON daty (data ASC);
INSERT INTO daty VALUES (DEFAULT, '1952-6-4', 'Urodziny');
INSERT INTO daty VALUES (DEFAULT, '6/4/1968', 'Ukończenie szkoły podstawowej');
INSERT INTO daty VALUES (DEFAULT, '26.6.1972', 'Ukończenie liceum');
INSERT INTO daty VALUES (DEFAULT, '1977-6-25', 'dyplom magistra biologii');

Wynik

2013-11-29 08:15:43.0

Pliki do ściągnięcia

Aktualny (tworzony narastająco) plik module-info.java

Aktualny (tworzony narastająco) plik DerbyUtil.java

Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszystkich wpisach w projekcie. W przypadku pliku module-info.java może być potrzebne skreślenie niepotrzebnych wpisów.