sql >> データベース >  >> RDS >> PostgreSQL

knexとpostgresを使用して日付列を文字列(varchar)として常にフェッチできますか?

    node-postgresドライバーは、日付列から送信されたデータから実際にDate()オブジェクトを作成する部分です( https://node-postgres.com/features/types#date-timestamp-timestamptz

    postgresを使用すると、ここで説明されているようにnode-pgのタイプパーサーを変更できます https://github.com / brianc / node-pg-types

    1082である日付タイプタイプのOIDは、次のクエリでフェッチできます

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

    したがって、文字列として渡される日付型をオーバーライドするには、db接続を設定する前にこれを行うだけで十分です(たとえば、knexfile.jsでそれを行うことができると思います):

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


    1. T-SQLのバグ、落とし穴、およびベストプラクティス–サブクエリ

    2. WHERE句のDECODE()ステートメントのパフォーマンスチューニング

    3. オペランドタイプの衝突:intは日付と互換性がありません+INSERTステートメントはFOREIGNKEY制約と競合しました

    4. Oracleでdistinctとsumの両方を一緒に使用する方法は?