回答

收藏

MYSQL-检索日期之间的时间戳

技术问答 技术问答 219 人阅读 | 0 人回复 | 2023-09-14

全部,
8 }+ ]1 o3 ^9 S* B; A3 K5 y! ]我有一个带有称为时间戳记的列的MYSQL表。它的DATETIME数据类型为“ 10/1/2009 3:25:08 PM”,“ 10/1/2009
. _2 r3 K7 Z' A( Z# ?# J) r7 T" `5 s3:30:05 PM”,“ 10/4/2009 3:40:01 PM”,等等..7 F3 m; N1 r1 I# E. W6 h
我想编写一个SQL查询来选择在两个日期之间出现的时间戳字段中的所有值。
; k! l, b0 d5 s2 C3 j) F, n5 nselect timestamp from tablename where timestamp >= userStartDate and timestamp userInput日期将没有时间部分。您能为此建议正确的MySQL查询语法吗?谢谢
! H' b( Z& y5 E7 Z9 I               
# ]6 f) a8 r" \9 D  W解决方案:5 B6 D# L3 A7 U% m( @# G
                - S9 q( ]  j3 O+ O/ a1 C, Q
/ X4 K, P7 @# G3 i2 w5 d' d

* }7 d* D' l' @1 H                SELECT timestamp
8 M2 y9 W, }0 Y3 K. D8 [" p' EFROM   tablename
5 M3 ]- e# L2 v4 O5 }WHERE  timestamp >= userStartDate
; i" v5 q, \% f- I% V/ w; C       AND timestamp 如果这些字段的类型为(无时间部分),则将选择日期部分在userStartDate和之间的每条记录。userEndDate``DATE
( Y) I5 q3 Q% n% B2 q" f+ i. M; @如果开始日期和结束日期为字符串,请使用STR_TO_DATE从任何给定格式进行转换:
4 N* h  Z( x$ U' C$ ISELECT timestamp9 y/ x; ^6 {  j+ j
FROM   tablename
$ u7 y: ?; h' k% A/ ?WHERE  timestamp >= STR_TO_DATE('01/11/2010', '%m/%d/%Y')
; r8 E0 a% S5 Z* {" A$ ]. V2 }8 a       AND timestamp < STR_TO_DATE('01/12/2010', '%m/%d/%Y') + INTERVAL 1 DAY
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则