oWuKai1 2024-10-14 18:55 采纳率: 0%
浏览 25
已结题

求一段sql语句,遇到小难题了,可以50米解决

现在数据库有一个字段now(日期和时间混到一起的),我想查询1号到30号上午八点到下午五点的记录

我的是asp+sql的

  • 写回答

22条回答 默认 最新

  • 阿齐Archie 优质创作者: 嵌入式与硬件开发技术领域 2024-10-14 18:56
    关注

    以下参考免费微信小程序:皆我百晓生 作答,并由阿齐Archie整理回复,若还有疑问可评论或留言。

    要查询特定日期范围内的特定时间段的数据,你可以使用 SQL 的 BETWEENAND 操作符来筛选日期和时间。假设你的数据库使用的是 MySQL,并且 now 字段是一个 DATETIME 类型的字段,下面是一个可能的 SQL 查询语句:

    SELECT *
    FROM your_table_name
    WHERE now BETWEEN '2023-01-01 08:00:00' AND '2023-01-30 17:00:00';
    

    这个查询将会返回 your_table_name 表中 now 字段值在 2023 年 1 月 1 日上午 8 点到 2023 年 1 月 30 日下午 5 点之间的所有记录。

    如果你的数据库不是 MySQL,或者 now 字段的数据类型不同,可能需要稍微调整这个查询语句。如果你需要在 PHP 中执行这个查询,你可以使用 PDO 或者 mysqli 扩展来实现。

    例如,使用 PDO 的代码片段可能如下:

    <?php
    $dsn = 'mysql:host=your_host;dbname=your_db';
    $user = 'your_username';
    $password = 'your_password';
    
    try {
        $pdo = new PDO($dsn, $user, $password);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
        $query = "SELECT * FROM your_table_name WHERE now BETWEEN '2023-01-01 08:00:00' AND '2023-01-30 17:00:00'";
        $stmt = $pdo->query($query);
        $results = $stmt->fetchAll(PDO::FETCH_ASSOC);
    
        foreach ($results as $row) {
            // 处理每行数据
        }
    } catch (PDOException $e) {
        echo 'Connection failed: ' . $e->getMessage();
    }
    ?>
    

    请确保替换 your_host, your_db, your_username, 和 your_password 为你的数据库信息,并且 your_table_name 替换为你的实际表名。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 10月15日
  • 修改了问题 10月14日
  • 创建了问题 10月14日