sql >> Databasteknik >  >> RDS >> PostgreSQL

Datumkolumnaritmetik i PostgreSQL-fråga

Du skulle behöva tabellkvalificera t1.user_id att disambiguera. Plus andra justeringar:

CREATE TABLE foo AS 
SELECT user_id, (t1.the_date - (t2.the_date - t1.the_date)) AS start_date
FROM   table1 t1
JOIN   table2 t2 USING (user_id);
  • Att subtrahera två datum ger heltal. Medverkande var överflödiga.

  • Uteslut inte AS nyckelord för kolumnalias - medan det i allmänhet är OK att utelämna AS för tabellalias. Manualen:

    Du kan utelämna AS , men bara om det önskade utdatanamnet inte matchar något PostgreSQL-nyckelord (se bilaga C). För att skydda dig mot eventuella framtida tillägg av sökord rekommenderar vi att du alltid antingen skriver AS eller dubbelcitera utdatanamnet.)

  • Sammanfoga tabeller med en USING klausul behåller bara en instans av de sammanfogade kolumnerna (user_id i det här fallet) i resultatuppsättningen och du behöver inte tabellkvalificera den längre.




  1. Lär dig hur du kör en procedur i Toad For Oracle

  2. Hur man visar ett datum i tyskt format i SQL Server (T-SQL)

  3. Hur man kontrollerar värdena för NLS-parametrarna i Oracle Database

  4. 12c VARCHAR2(32767)