sql >> Databasteknik >  >> RDS >> PostgreSQL

Hur kan jag läsa en tidsstämpel med tidszonvärde (timestamptz) från PostgreSQL i Rust?

När du vet vilka funktioner som är tillgängliga , det är ganska direkt att se att du måste använda with-chrono-0_4 funktion.

use chrono::{DateTime, Utc}; // 0.4.10
use postgres::{Client, Error, NoTls}; // 0.17.0, features = ["with-chrono-0_4"]

pub fn main() -> Result<(), Error> {
    let mut client = Client::connect("host=localhost user=stack-overflow", NoTls)?;

    client.simple_query(
        r#"
        CREATE TABLE mytable (
            name        text NOT NULL,
            timestamp   timestamptz NOT NULL
        )"#,
    )?;

    client.execute("INSERT INTO mytable VALUES ('bob', now());", &[])?;

    for row in client.query("SELECT * FROM mytable", &[])? {
        let name: &str = row.get(0);
        let timestamp: DateTime<Utc> = row.get(1);
        dbg!(name, timestamp);
    }

    Ok(())
}
[src/main.rs:20] name = "bob"
[src/main.rs:20] timestamp = 2020-01-16T01:21:58.755804Z


  1. Hur man tar bort alla rader från en tabell utom de senaste 10 raderna

  2. Hur utför man en LEFT JOIN i SQL Server mellan två SELECT-satser?

  3. Gå med i två mysql-tabeller

  4. Hur fixar jag den angivna nyckeln var för lång; max nyckellängd är 1000 byte