MYSQL
可以使用MySQL内置函数CURDATE()
获取当前日期,然后在查询中使用该函数来筛选出日期为当前日期的记录。假设日期字段为date_field
,查询语句如下:
SELECT * FROM table_name WHERE date_field = CURDATE();
如果不确定日期字段的字段类型,可以先使用DESC table_name
命令查看表结构,找到日期字段的字段类型。一般情况下日期字段的类型为DATE
、DATETIME
或TIMESTAMP
。
如果不确定日期字段的类型,可以使用MySQL内置函数STR_TO_DATE()
将日期字段转化成日期类型,然后再使用CURDATE()
函数来筛选出日期为当前日期的记录。假设不确定日期字段类型,查询语句如下:
SELECT * FROM table_name WHERE STR_TO_DATE(date_field, '%Y-%m-%d') = CURDATE();
SQL server
在 SQL Server 中,可以使用 DATEPART() 函数来获取日期时间值中的特定部分。例如,可以使用 DATEPART() 函数获取给定日期时间值的年份、月份、日、小时、分钟或秒。然后可以将得到的部分值与所需的值进行比较。
以下是一个示例查询,用于从 table_name
表中获取日期为今天和时间在早上8点到晚上8点之间的记录:
SELECT *
FROM table_name
WHERE
DATEPART(year, date_field) = YEAR(GETDATE()) AND
DATEPART(month, date_field) = MONTH(GETDATE()) AND
DATEPART(day, date_field) = DAY(GETDATE()) AND
DATEPART(hour, date_field) >= 8 AND
DATEPART(hour, date_field) < 20
Oracle
一年的第一天
select trunc(sysdate, 'yyyy') from dual;
一年的最后一天
select add_months(trunc(sysdate, 'yyyy'), 12) - 1 from dual;
如果表中有时间,形式为2000-01-01
想取其中的年或者月或者日(不同数据库的函数方法不同,但是大致思路一样。截取这个时间字段2023-10-08的一取四位,就是年,第六个字符开始取两位为月,第九个字符开始取两位为日):
select SUBSTR(bxrq,1,4) from table
//日期(rq)为: 2023-10-08
select SUBSTR(rq,1,4) from table where id = 1;//年
select SUBSTR(rq,6,2) from table where id = 1;//月
select SUBSTR(rq,9,2) from table where id = 1;//日
取当前时间的年或者月日
select to_char(sysdate,'yyyy' ) from dual
时间的截取:canvert获取sj的类型,取varchar(5),再replace去除”:“
select REPLACE(convert(varchar(5),sj,108), ':', '') a from table1 where id =1
DATENAME(param,date);
在数据库中,假如有一个数据库,里面的字段有个叫rq的,保存的是日期时间,但是字段类型时char,现在查询某个时间段的记录,该怎么做呢?
简单,只需三步,第一步将这个字段变为日期或者时间格式,看需要
to_date(your_char_date_time_col, 'YYYY-MM-DD HH24:MI:SS')
想要什么格式就改为什么格式
然后将你要的时间段,变为日期或者时间格式:
to_date('2023-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
最后查询:
SELECT *
FROM your_table
WHERE to_date(rq, 'YYYY-MM-DD HH24:MI:SS')
BETWEEN
to_date('2023-01-01 00:00:00', 'YYYY-MM-DD HH24:MI:SS')
AND
to_date('2023-02-02 23:59:59', 'YYYY-MM-DD HH24:MI:SS');
泛微E9
var field1 = WfForm.getFieldValue("field111");
var data=field1.match(/^(\d{4})-(\d{1,2})-(\d{1,2})$/);
//将表单中的日期字段:2023-01-01,除去‘-’,存入数组。
var years=data[1];
var months=data[2];
var days=data[3];
alert(years+months+days);
var date = new Date();
//年 getFullYear():四位数字返回年份
//获取当前的日期,并分别获取年月日
var year = date.getFullYear();
var month = date.getMonth()+1;
var day = date.getDate();
alert(year+month+day);
这中分别获取年月日在判断年月日的差值上以及一些其他特别的情况时,可以用,但是具体比较两个日期之间的天数差,还是将日期转换为ms,相减再获取比较方便。
const sDate = Date.parse(date)
const eDate = Date.parse(field1)
if (sDate === eDate) {
alert("时间一样");
}
const days1 = (eDate - sDate) / (1 * 24 * 60 * 60 * 1000)
alert(days1);