sql - 查询以查找之间的提取时间
问题描述
我是 SQL 的初学者,需要帮助才能在 00.00.00 和 06.00.00 之间在我们的 WMS 中获取一些事务,但无法使其正常工作。
这就是我已经走了多远,
SELECT cast(datreg as time) [time], logguser, l16lcode, partno, l16qty, datreg
FROM L16T3
WHERE datreg > '0000-00-00 00:00:00'
AND datreg < '9999-99-99 06:00:00'
AND L16T3.l16lcode = 2
我不知道要写什么才能仅在 24.00-06.00 之间进行交易
(使用 SQL Server 2012)
此致
解决方案
我会建议:
SELECT cast(datreg as time) as [time], logguser, l16lcode, partno, l16qty, datreg
FROM L16T3 l
WHERE CONVERT(time, l.datreg) >= '00:00:00' AND
CONVERT(time, l.datreg) < '06:00:00' AND
l.l16lcode = 2;
您还可以使用以下时间:
WHERE DATEPART(hour, l.datreg) >= 0 AND
DATEPART(hour, l.datreg) < 6 AND
l.l16lcode = 2;
但是,如果第二次是 ,则这并不容易概括06:30:00
。
推荐阅读
- android - 应用程序在后台时解锁屏幕
- react-native - 查看布局道具无法正常工作
- ios - 调整背景视频大小 - SWIFT
- matlab - 在matlab中按文件名模式创建mat文件的filedatastore过滤文件
- java - 手工搭建Android APK,外部Jar的资源文件
- android - 如何正确处理 xamarin 中的意图
- java - 如何在 Android 中偏移 RecyclerView 的第二列?
- google-cloud-platform - 下载 Google 存储 blob 时出错:(收到内容编码的响应:gzip,但无法解码。)
- bash - 为 aws ecr 存储库修剪 bash 字符串
- tsql - ANDALSO 选项,当一个失败时停止评估