日期等号左边可以有字段吗,怎么用?

   更新日期:2024.05.05
惯例,在等号左边尽量不要有对字段的运算,所以一般用法有:

1、判断其是否在某个日期区间:
Where CheckDate Between '2013-01-01' And '2013-01-31'
这个方法也可用于加几天是多少,或减几天是多少:
把起迄日期参数化,原CheckDate要加的,那就变成@BeginDate加,减也同理~

2、判断其是否大于某天:
Where CheckDate >'2013-01-01' 或大于等于:Where CheckDate >='2013-01-01'
小于某天
Where CheckDate <'2013-01-01' 或小于等于:Where CheckDate <='2013-01-01'

3、判断其是否等于某天:
如果Check字段不带时间,只是年月日,那直接等于就可以了;
Where CheckDate ='2013-01-01'

如果CheckDate字段是携带时间的就会有差别;这一点,在上述所有方法中都需要注意
eg:CheckDate 实际存储值可能是: 20130101 08:50:54:000 或 20130101 22:50:54:000
这时直接用上面的等号是抓不到的,因此或改写成:
Where CheckDate >= '2013-01-01' And CheckDate < '2013-01-02'
当然也可以把'2013-01-01',定义为参数@Date DateTime
Where CheckDate >= @Date And CheckDate < @Date+1

不建议在等号左边使用函数或计算对表字段进行计算。

以上是两个日期的判断,另外有些日期处理函数可以了解一下:

DATEDIFF ( datepart , startdate , enddate )
返回指定的 startdate 和 enddate 之间所跨的指定 datepart 边界的计数(带符号的整数)。
eg:
Select DateDiff(DAY,'20130101','20130105')
1号到5号相差4天,输出结果为4

常用的datepart 有:
datepart 缩写
year yy, yyyy 年
month mm, m 月
day dd, d 日
week wk, ww 周
hour hh 时
minute mi, n 分
second ss, s 秒

DATEADD(datepart, number, date)

将表示日期或时间间隔的数值与日期中指定的日期部分相加后,返回一个新的 DT_DBTIMESTAMP 值。number 参数的值必须为整数,而 date 参数的取值必须为有效日期。
eg:
Select DATEADD(DAY,1,'20130101')
1号加1天就是2号;输出结果为 ‘2013-01-02’
Number可以是负数就变成减几天

DATEADD(datepart, number, date)

将表示日期或时间间隔的数值与日期中指定的日期部分相加后,返回一个新的 DT_DBTIMESTAMP 值。number 参数的值必须为整数,而 date 参数的取值必须为有效日期。
eg:
Select DATEPART(DAY,'20130101')
返回datepart描述的部分,输出结果为 1

  • 13957753337 :日期等号左边可以有字段吗,怎么用?
    田显独4982 :答:惯例,在等号左边尽量不要有对字段的运算,所以一般用法有:1、判断其是否在某个日期区间:Where CheckDate Between '2013-01-01' And '2013-01-31'这个方法也可用于加几天是多少,或减几天是多少:把起迄日期参数化,...
  • 13957753337 :SQL语句中怎样比较两个日期的大小?
    田显独4982 :答:惯例,在等号左边尽量不要有对字段的运算,所以一般用法有:\x0d\x0a\x0d\x0a1、判断其是否在某个日期区间:\x0d\x0aWhere CheckDate Between '2013-01-01And '2013-01-31'\x0d\x0a这个方法也可用于加几天...
  • 13957753337 :sql语句的预处理能把表名(等号的左边用?表示么)
    田显独4982 :答:不能,会出现语法错误的提示,如果你不需要附加条件并且要显示全部字段,直接输入select * from student 就行了,如果需要附加条件的话,左边必须输入字段名,要不然计算机会无法识别的 ...
  • 13957753337 :oracle 查询日期类型为什么不能用=
    田显独4982 :答:Oracle查询日期可以使用= 但是在等号的两边必须数据类型一致,比如'2010-9-19'这是一个字符串不能直接与日期类型字段比较 必须要进行日期转换:1、日期转换成字符串 to_char(date,'yyyy-mm-dd')='2009-09-19'2、字符...
  • 13957753337 :怎么将日期设置为行字段
    田显独4982 :答:1、首先打开Excel,导入一个需要设置日期格式的表格。2、其次选中表格中的日期,点击鼠标右键,在菜单栏中选择设置单元格格式。3、最后在弹出的窗口中可以选择行字段的日期格式,选择后点击确定即可解决将日期设置为行字段。
  • 13957753337 :如何将一个日期字段,用表格形式显示
    田显独4982 :答:日期为行字段;名称为列字段;数量为求和项;2、对日期列使用分组合并:选中数据透视表中的日期字段单元格,数据透视表工具--选项--分组,在分组对话框中进行如下设置:补充问题,要求表格格式国你的截图,数据透视表设置...
  • 13957753337 :如何将日期设置为行字段
    田显独4982 :答:1、首先打开电脑并打开一张Excel表格。2、其次点击上方的插入,选择数据透视表,并点击数据透视表。3、最后将日期为行字段;名称为列字段;数量为求和项即可将日期设置为行字段。
  • 13957753337 :如何设置日期字段的格式
    田显独4982 :答:1、控制面板里,点击日期和时间这一项:2、点击更改日期和时间:3、点击更改日历设置:4、这里就是更改日期格式的地方,还可以在短日期后加空格再加dddd,这样电脑右下角托盘区就会显示星期几了:...
  • 13957753337 :oracle 日期格式 查询 如有一个字段类型是date的 我要根据这个字段来查...
    田显独4982 :答:1、选中桌面常用的PLSQL Developer工具。2、打开后,输入登录信息,进行登录。3、工具中新建一个SQL窗口。4、SQL窗口打开后是这个样子。5、日期createdatetime,日期型字段类型如下。6、输入如下语句,从表table123进行查询。7...
  • 13957753337 :正常做数据透视表,日期格式字段怎么设置?
    田显独4982 :答:方法二:如是其他格式,如1月1日这种,在数据透视表中可能被识别为自定义格式,在字段设置中改为日期格式。数据透视表(Pivot Table)是一种交互式的表,可以进行某些计算,如求和与计数等。所进行的计算与数据跟数据透视表...
  • 相关链接

    欢迎反馈与建议,请联系电邮
    2024 © 视觉网