- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 postgis 中有矢量图 block 。没有类型转换类型的经验。 vector-tile-spec 支持以下类型:string、float、double、int64、uint64、sint64、bool。这意味着除 Varchar、Text、CharArray、Float4、Float8、Int2、Int4、Int8、Bool 之外的所有 PostgreSQL 类型都必须转换为其中之一。
我的表中有两个字段是日期,即“带时区的时间戳”:createdAt 和 updatedAt。我想存储在受支持的类型中,那么我该怎么做呢?
我目前:
但是所有 3 个(或至少 2 个和 3 个)最终都需要成为受支持的类型。
最佳答案
我会将您的日期转换为 INTEGER
或 BIGINT
,具体取决于您需要使用的日期范围,并且只计算 Unix Time 的天数.
假设您只是转换为 INTEGER
,您可以定义以下函数以将 dates
转换为从 epoch date 算起的天数(1970-01-01 00:00:00
):
CREATE FUNCTION days_from_reference_date(d date)
RETURNS INTEGER
AS
$$
SELECT
CAST(EXTRACT(epoch from d) / (60 * 60 * 24 /* seconds in a day */) AS INTEGER) ;
$$
LANGUAGE SQL
STRICT
IMMUTABLE ;
你可以在这样的场景中使用它:
SELECT
days_from_reference_date(d) AS transformed_date
FROM
dates
ORDER BY
transformed_date ;
反向转换可以通过以下方式完成:
CREATE FUNCTION date_from_days_from_reference_date(days integer)
RETURNS date
AS
$$
SELECT CAST(to_timestamp(cast(days as bigint) * 60 * 60 * 24) AS date);
$$
LANGUAGE SQL
STRICT
IMMUTABLE ;
您可以在 dbfiddle here 查看一些示例
引用资料:
to_timestamp
和 extract(epoch from ...)
。警告:日期在公元前一天偏移;如果您需要它们。它可能可以通过在反向转换功能中检查它们来解决。
关于postgresql - 如何在 Postgres/Postgis 中转换类型(并使用 sequelizejs),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45119404/
我用 node script.js 运行这个 sequelize 代码 const Sequelize = require('./node_modules/sequelize') const sequ
我有以下代码。这个想法是我每隔一段时间更新一个数据库行,但是如果我在此脚本运行时手动从数据库中删除该行,save() 仍然进入成功(),但该行实际上并未放回数据库. (因为 sequelize 使用
我遇到了一个异常,在任何地方都找不到解决方案。看起来像是 sequelizeJs 的 bug。 这是问题: 我有两个模型 module.exports = db.sequelize.define('u
我试图弄清楚如何将数组作为实例属性的值传递。目前,我在模型中将 dataType 设置为 STRING,并将 jQuery 字段中的值插入每个表单字段值到我从正文中解析并设置为属性的数组中,发现源。不
我正在使用 NodeJS 和 Sequelize。我有以下问题: 阅读设置表: Settings.findOne({where: { user_id: data }})
我正在使用 sequelizejs。我的数据库是 Mssql。将数据写入表时出现问题。这是我得到的错误: Unhandled rejection SequelizeDatabaseError: Con
我的模型: module.exports = function(sequelize, DataTypes){ var Podcast = sequelize.define('Podcast', {
我有一些“邀请”模型: 'use strict'; export default function (sequelize, DataTypes) { return sequelize.define
我想做一些事情,比如我在 Mongoose 中可以做的事情: Customers.find({ $or: [ {firstName: {$in:
我正在尝试诊断我的 Express 应用程序运行缓慢的原因,该应用程序使用 SequlizeJS 作为 ORM。我有一个模型与其他 2 个模型具有 2x hasMany 和 hasOne 关系: 更新
我不知道软删除是如何与 SequelizeJS 一起工作的,我也找不到任何在线文档。 我已经在 deletedAt 列中设置为 deletedAt: { type: Sequelize.DAT
如果我有一个模型用户: var User = sequelize.define('User', { name: { type: Sequelize.STRING, allowNul
是否可以在不依赖迁移的情况下使用 sequelizejs sequelize.sync() 来索引表? 如果不是,是否有任何可能的方法通过 sequelize 以编程方式进行迁移,看来文档 here
如果用户有许多项目,反之亦然,我可以使用 user.getProjects() 获取所有用户项目 - 但是有什么方法可以搜索这种关系,以便您可以翻阅结果并进行过滤(例如按项目名称)? 谢谢。 http
我想根据关联模型的参数更改模型中的值... 我不知道如何在我的预约模型中获取客户的性别... var Appointment = db.define('Appointment', { titl
所以现在我一直在使用 SequelizeJS 作为我的数据访问层,我现在最大的担忧是它试图找到一种自定义 Sequelize 模型调用的方法。 例如,假设对于 model.find() 方法,我想将缓
我正在使用 Sequelizejs 并尝试创建简单的用户验证功能 function ValidateIsUserLogged(sessionKeyInput) { var result =
我对 NodeJS 和 SequelizeJS 比较陌生,并且我正在构建的查询面临 hasOne 问题,我想知道您对此问题的看法,以找出我出错的地方以及实现此查询的正确方法。 Association
我在我的 Sequelize 应用程序中使用 PostgreSQL 和 node.js。我有两个具有一对一关系的表 - Customers 和 Users 。 UserId 表中有外键 Custome
我在 SequelizeJS 中使用关系遇到问题。 我的错误消息:(500:内部服务器错误)用户与文章无关! 文章型号: var Article = db.define('article', {
我是一名优秀的程序员,十分优秀!