sql >> Databasteknik >  >> RDS >> Oracle

hur man infogar aktuellt datum i ett DATUM-fält i formatet dd/mm/åååå i oracle

DATE är en inbyggd typ i Oracle, som representeras på ett fast sätt och du har ingen kontroll över det.

Så:

Jag vill att det ska infogas [...] som 08/01/2011 12:00:00 AM

Ovanstående är meningslöst. Du infogar inte en sträng, du infogar ett datum.

Format är endast användbart när du vill:

  • för att konvertera en sträng till en intern representation av datum med TO_DATE (formatmask:hur man analyserar strängen);
  • för att konvertera en intern representation av datum till en sträng med TO_CHAR (formatmask:hur man renderar datumet).

Så i ditt exempel tar du ett DATUM, du konverterar det till en STRING med något format och konverterar det tillbaka till DATUM med samma format. Detta är ett nej.

Nu, vad din klient visar:detta beror på att din Oracle-klient inte visar DATUM-fält direkt och NLS-lagret kommer att konvertera alla DATUM-fält som är valt. Så det beror på din plats som standard.

Det du vill ha är SELECT TO_CHAR(SYSDATE,'DD/MM/YYYY') FROM dual; som explicit kommer att utföra konverteringen och returnera en sträng.

Och när du vill infoga ett datum i en databas kan du använda TO_DATE eller datum bokstaver.



  1. Slinga över arraydimension i plpgsql

  2. Varför stöder inte MySQL millisekund / mikrosekund precision?

  3. Där villkor för sammanfogat bord i Sequelize ORM

  4. Hur Round() fungerar i PostgreSQL