jdbc调用postgreSQL数据库内置函数

1. current_timestamp

  返回的是当前的时间戳

table intense.miracle
id integer DEFAULT 0
name character varying (20)
timestamp timestamp without time zone

Class.forName("org.postgresql.Driver");
Connection conn = DriverManager.getConnection("jdbc:postgresql://localhost:5432/test", "postgres", "postgres");

String sql = "INSERT INTO intense.miracle(id, name, timestamp) VALUES(?,?,current_timestamp)";
PreparedStatement ps = conn.prepareStatement(sql);
ps.setInt(1, 1);
ps.setString(2, "charming");

ps.executeUpdate();


当然,这里也可以使用Statement:

...
Statement st = conn.createStatement();
String sql = "INSERT INTO intense.miracle(id, name, timestamp) VALUES(2,'significant',current_timestamp)";
st.executeUpdate(sql);
...


2. current_date

  返回的是当前日期

2. current_time

  返回的是当前时间

4. nextval('schema_name.sequence_name')

  也可以写成nextval('"schema_name"."sequence_name"')

  返回的是序列的下一个值

...
String sql = "INSERT INTO intense.miracle(id, name, timestamp) VALUES(nextval('intense.seq_oid'),'oscillation',current_date)";
...

你可能感兴趣的:(java,jdbc,function,sequence,PostgreSQL)