(SQL语句)日期格式的字段怎么模糊查询

测试的表结构数据如下
在这里插入图片描述
其中“OrderDate”,“RequiredDate”和“ShippedDate”三个字段的格式是datetime格式
在这里插入图片描述
这种格式下,直接用like进行日期的模糊查询是没有结果的
在这里插入图片描述
我们可以使用convert()来转换datetime成varchar

CONVERT(varchar,OrderDate,21) 

#CONVERT(A,B,C):A代表目标格式,B代表要对象列,C这里代表日期的格式

下表部分规范

不带世纪数位(yy)带世纪数位(yyyy)Standard输入/输出
-0或100datetime和smalldatetime的默认值mon dd yyyy hh:miAM (或PM)
11或101美国1=mm/dd/yy 101=mm/dd/yyyy
-20或120ODBC规范yyyy-mm-dd hh:mi:ss(24h)
-21或121time,date,datetime2和datetimeoffset的ODBC规范(带毫秒)默认值yyyy-mm-dd hh:mi:ss.mmm(24h)

完整表格及更多的信息,请参考官方文档

现在,用这方法来筛选97年12月的数据

SELECT 
	*
FROM 
	Orders
WHERE
	CONVERT(varchar,OrderDate,21) LIKE '%1997-12%'

结果如下图
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值