sql >> Database teknologi >  >> RDS >> PostgreSQL

Kan vi altid hente datokolonne som streng (varchar) med knex og postgres?

node-postgres-driveren er den del, der faktisk opretter Date()-objekter fra data sendt fra datokolonner (https://node-postgres.com/features/types#date-timestamp-timestamptz )

Med postgres kan du ændre node-pg's type parsere som beskrevet her https://github.com /brianc/node-pg-types

Datotypetypens oid, som er 1082, kan hentes med følgende forespørgsel

select typname, oid, typarray from pg_type where typname = 'date' order by oid;

Så for at tilsidesætte datotypen, der skal sendes som streng, er det nok at gøre dette, før du opsætter din db-forbindelse (jeg formoder, at man kunne gøre det for eksempel i knexfile.js):

var types = require('pg').types;
// override parsing date column to Date()
types.setTypeParser(1082, val => val); 


  1. Sæt brugerdefineret type i dvale for at undgå 'Forårsaget af:java.sql.SQLEundtagelse:Stream er allerede blevet lukket'

  2. MySQL - Hvordan søger man efter eksakt ordmatch ved hjælp af LIKE?

  3. MySQL:sammensat indeks fuldtekst+btræ?

  4. PDO duplikatværdier i array