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

版权声明:转载请注明出处谢谢~~~~~~~ https://blog.csdn.net/ZUFE_ZXh/article/details/86677187

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

CONVERT(varchar,OrderDate,21) 

#CONVERT(A,B,C):A代表目标格式,B代表要对象列,C代表ODBC规范(带毫秒)下表部分规范
不带世纪数位(yy) 带世纪数位(yyyy) Standard 输入/输出
- 0或100 datetime和smalldatetime的默认值 mon dd yyyy hh:miAM (或PM)
1 1或101 美国 1=mm/dd/yy 101=mm/dd/yyyy
- 20或120 ODBC规范 yyyy-mm-dd hh:mi:ss(24h)
- 21或121 time,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%'

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

猜你喜欢

转载自blog.csdn.net/ZUFE_ZXh/article/details/86677187