postgresql
Postgres Tipp und Tricks
Suche…
DATEADD-Alternative in Postgres
-
SELECT CURRENT_DATE + '1 day'::INTERVAL
-
SELECT '1999-12-11'::TIMESTAMP + '19 days'::INTERVAL
-
SELECT '1 month'::INTERVAL + '1 month 3 days'::INTERVAL
Kommagetrennte Werte einer Spalte
SELECT
string_agg(<TABLE_NAME>.<COLUMN_NAME>, ',')
FROM
<SCHEMA_NAME>.<TABLE_NAME> T
Löschen Sie doppelte Datensätze aus der Postgres-Tabelle
DELETE
FROM <SCHEMA_NAME>.<Table_NAME>
WHERE
ctid NOT IN
(
SELECT
MAX(ctid)
FROM
<SCHEMA_NAME>.<TABLE_NAME>
GROUP BY
<SCHEMA_NAME>.<TABLE_NAME>.*
)
;
Aktualisierungsabfrage mit Verknüpfung zwischen zwei Tabellen alternativ, da Postresql die Aktualisierungsabfrage nicht unterstützt
update <SCHEMA_NAME>.<TABLE_NAME_1> AS A
SET <COLUMN_1> = True
FROM <SCHEMA_NAME>.<TABLE_NAME_2> AS B
WHERE
A.<COLUMN_2> = B.<COLUMN_2> AND
A.<COLUMN_3> = B.<COLUMN_3>
Unterschied zwischen zwei Datumszeitstempeln auf Monats- und Jahresebene
Monatliche Differenz zwischen zwei Datumsangaben (Zeitstempel)
select
(
(DATE_PART('year', AgeonDate) - DATE_PART('year', tmpdate)) * 12
+
(DATE_PART('month', AgeonDate) - DATE_PART('month', tmpdate))
)
from dbo."Table1"
Jahresabweichung zwischen zwei Datumsangaben (Zeitstempel)
select (DATE_PART('year', AgeonDate) - DATE_PART('year', tmpdate)) from dbo."Table1"
Abfrage zum Kopieren / Verschieben / Übertragen von Tabellendaten aus einer Datenbank in eine andere Datenbanktabelle mit demselben Schema
Erste Ausführung
CREATE EXTENSION DBLINK;
Dann
INSERT INTO
<SCHEMA_NAME>.<TABLE_NAME_1>
SELECT *
FROM
DBLINK(
'HOST=<IP-ADDRESS> USER=<USERNAME> PASSWORD=<PASSWORD> DBNAME=<DATABASE>',
'SELECT * FROM <SCHEMA_NAME>.<TABLE_NAME_2>')
AS <TABLE_NAME>
(
<COLUMN_1> <DATATYPE_1>,
<COLUMN_1> <DATATYPE_2>,
<COLUMN_1> <DATATYPE_3>
);
Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow