sql - 删除 SQL 中 created_at 的毫秒部分以与其他日期时间进行比较

标签 sql postgresql

我想在我的日期时间找到重复项。由于我的 created_at 因毫秒而与任何行都不相等,我想将其删除,这样我现在可以显示具有相同 created_at 的所有重复项。但是此语法返回一个错误,即 datetime column does not exist in my CONVERT

SELECT
sd.global_code AS sd_id,
sm.tag AS tag,
SUM(sm.quantity) AS quantity,
CONVERT(datetime, CONVERT(varchar, sm.created_at, 120), 120) AS date ## returns an error ##
FROM stock_distributions sd
INNER JOIN stock_movements sm ON sd.id = sm.stock_distribution_id
WHERE (sm.tag = 'Shelf Transfer' OR sm.tag = 'Transfer (Put-Away to Shelf)')
AND sl.site_id = 4
GROUP BY sd.global_code
HAVING SUM(sm.quantity) < 0
AND COUNT(convert(datetime, convert(varchar, sm.created_at, 120), 120)) > 1

我做的对吗?在 SELECTING sm.created_at 上是否有更快的方法,直到秒数之前具有相同的日期和时间,因此输出将类似于 2019-03-31 4:08:33?

最佳答案

您可以通过将日期转换为字符串来使用字符串比较

to_char( mydate, 'rrrrmmddhh24ss' ) 

关于sql - 删除 SQL 中 created_at 的毫秒部分以与其他日期时间进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58049271/

相关文章:

mysql - 如何使用表中不同数量的列来设计数据库

sql - 如何查看来 self 的程序的 SQL Server 查询?

mysql - 颁奖结果。帮助?

php - 如何在PHP中重用sql查询结果?

C# : Passing Parameters to a function via a 2d object array

c# - 事务无法通过 Task.WhenAll 处理并行命令

sql - Postgres : Simplify SQL query to get rid of subselects

sql - 在 postgres 中更新 jsonb 对象

python - 如何在 Python Django 中附加到数组字段

node.js - 重命名模型文件中的列名 - Sequelize