-
Sqlserver中格式化日期作为查询条件的语句写法
2019-05-09 09:23:24要以一个日期字段作为查询条件。 这时就要使用格式化日期的函数进行日期的比较。 实现 成功的示例代码: SELECT COUNT ( 1 ) FROM bus_logistics_order WHERE deleted_flag = '0' AND CONVERT ( VARCHAR ( 100 ...场景
查询sqlserver数据库中某一天的数据的数量。
要以一个日期字段作为查询条件。
这时就要使用格式化日期的函数进行日期的比较。
实现
成功的示例代码:
SELECT COUNT ( 1 ) FROM bus_logistics_order WHERE deleted_flag = '0' AND CONVERT ( VARCHAR ( 100 ), gmt_creat, 23 ) = '2019-05-08';
其中gmt_creat是数据库中的时间字段。
其中23是格式化日期的格式代码。23就代表格式化为yyyy-MM-dd样式的。
其他样式参考:
Select CONVERT(varchar(100), GETDATE(), 23): 2019-05-09 Select CONVERT(varchar(100), GETDATE(), 0): 05 9 2019 9:15AM Select CONVERT(varchar(100), GETDATE(), 1): 05/09/19 Select CONVERT(varchar(100), GETDATE(), 2): 19.05.09 Select CONVERT(varchar(100), GETDATE(), 3): 09/05/19 Select CONVERT(varchar(100), GETDATE(), 4): 09.05.19 Select CONVERT(varchar(100), GETDATE(), 5): 09-05-19 Select CONVERT(varchar(100), GETDATE(), 6): 09 05 19 Select CONVERT(varchar(100), GETDATE(), 7): 05 09, 19 Select CONVERT(varchar(100), GETDATE(), 8): 09:16:39 Select CONVERT(varchar(100), GETDATE(), 9): 05 9 2019 9:16:51:207AM Select CONVERT(varchar(100), GETDATE(), 10): 05-09-19 Select CONVERT(varchar(100), GETDATE(), 11): 19/05/09 Select CONVERT(varchar(100), GETDATE(), 12): 190509 Select CONVERT(varchar(100), GETDATE(), 13): 09 05 2019 09:17:27:600 Select CONVERT(varchar(100), GETDATE(), 14): 09:17:39:190 Select CONVERT(varchar(100), GETDATE(), 20): 2019-05-09 09:17:45 Select CONVERT(varchar(100), GETDATE(), 21): 2019-05-09 09:17:53.190 Select CONVERT(varchar(100), GETDATE(), 22): 05/09/19 9:18:04 AM Select CONVERT(varchar(100), GETDATE(), 23): 2019-05-09 Select CONVERT(varchar(100), GETDATE(), 24): 09:18:21 Select CONVERT(varchar(100), GETDATE(), 25): 2019-05-09 09:18:32.690 Select CONVERT(varchar(100), GETDATE(), 100): 05 9 2019 9:18AM Select CONVERT(varchar(100), GETDATE(), 101): 05/09/2019 Select CONVERT(varchar(100), GETDATE(), 102): 2019.05.09 Select CONVERT(varchar(100), GETDATE(), 103): 09/05/2019 Select CONVERT(varchar(100), GETDATE(), 104): 09.05.2019 Select CONVERT(varchar(100), GETDATE(), 105): 09-05-2019 Select CONVERT(varchar(100), GETDATE(), 106): 09 05 2019 Select CONVERT(varchar(100), GETDATE(), 107): 05 09, 2019 Select CONVERT(varchar(100), GETDATE(), 108): 09:20:22 Select CONVERT(varchar(100), GETDATE(), 109): 05 9 2019 9:20:28:533AM Select CONVERT(varchar(100), GETDATE(), 110): 05-09-2019 Select CONVERT(varchar(100), GETDATE(), 111): 2019/05/09 Select CONVERT(varchar(100), GETDATE(), 112): 20190509 Select CONVERT(varchar(100), GETDATE(), 113): 09 05 2019 09:20:57:380 Select CONVERT(varchar(100), GETDATE(), 114): 09:21:06:503 Select CONVERT(varchar(100), GETDATE(), 120): 2019-05-09 09:21:13 Select CONVERT(varchar(100), GETDATE(), 121): 2019-05-09 09:21:20.330 Select CONVERT(varchar(100), GETDATE(), 126): 2019-05-09T09:21:27.020 Select CONVERT(varchar(100), GETDATE(), 130): 5 ????? 1440 9:21:35:893AM Select CONVERT(varchar(100), GETDATE(), 131): 5/09/1440 9:21:54:957AM
-
5 日期范围查询_SQL 之 简单查询
2021-01-14 02:17:53指定查询条件3.注释和SQL语句注意事项4.运算符5.字符串模糊查询一. 基本的查询语句我们通过向数据库发送SQL查询语句,数据库里运行SQL语句,将查询结果返回。最基本的查询语句包括两个子句:SELECT子句,FROM子句。...学习目标
1.基本的查询语句
2.指定查询条件
3.注释和SQL语句注意事项
4.运算符
5.字符串模糊查询
一. 基本的查询语句
我们通过向数据库发送SQL查询语句,数据库里运行SQL语句,将查询结果返回。
最基本的查询语句包括两个子句:SELECT子句,FROM子句。
子句是SQL语句的组成要素,是五个以关键字作为开始的语句。
- 从student表中查找姓名,学号两列数据
SELECT 姓名, 学号 FROM student;
注:查询结果中列的顺序和SELECT子句中列的顺序一致 - 查询student表里全部列(*)
SELECT * FROM student;
- 删除重复数据:在SELECT子句的列名前添加DISTINCT
SELECT DISTINCT 姓名 FROM student;
注:列名不能加单引号,有特殊含义,不是字符串 SELECT DISTINCT 姓名, 学号 FROM student;
注:联合考虑姓名和学号的重复性 - 使用AS为列设置别名,别名可以让SELECT语句更加容易理解和操作。
SELECT 姓名 AS '学生姓名', 学号 AS '学生学号' FROM student;
注:中文别名需要使用' ' 二. 指定查询条件
查询语句通过WHERE子句来指定查找条件:
SELECT * FROM student WHERE 姓名 = '猴子'; /* 查询条件的表达式 */
SQL子句的书写顺序和SQL的运行顺序不同
SQL运行顺序:SELECT子句最后运行,其他子句按书写顺序运行。
三. 注释sql语句
注释能够帮助阅读者更好的理解SQL语句,特别是书写复杂SQL语句。
单行注释
-- 查询出全部列 SELECT * FROM student;
多行注释
/* 查找姓名是猴子学生 的学号 */ SELECT 学号 FROM student WHERE 姓名 = '猴子';
四. 运算符
算数运算符
加法:+
减法: -
乘法: *
除法:/
SELECT 学号,成绩, 成绩/100 AS '百分比成绩' FROM score;
注:含有NULL的运算,结果还是NULL 比较运算符
相等:=
不等于 :<>
大于 : >
大于等于: >=
小于: <
小于等于: <=
空值: IS NULL
-- 数值比较 SELECT 学号, 成绩 FROM score WHERE 成绩 > 60;
-- 日期比较 SELECT 姓名, 出生日期 FROM student WHERE 出生日期 < '1990-01-01';
-- 如何查询出 NULL 值? SELECT 教师号, 教师姓名 FROM teacher WHERE 教师姓名 IS NULL
补充:字符串比较
'10' > '2'
逻辑运算符
NOT:否定某一条件
AND:并且
BETWEEN:范围查询
OR:或者
IN:OR的简单写法
NOT(一般不使用)
SELECT 学号, 成绩 FROM score WHERE NOT 成绩 >= 80; SELECT 学号, 成绩 FROM score WHERE 成绩 < 80;
注:两条语句查询结果一致 AND
SELECT 学号, 成绩 FROM score WHERE 成绩>=60 AND 成绩<=90;
BETWEEN
SELECT 学号, 成绩 FROM score WHERE 成绩 >= 60 AND 成绩 <= 90; SELECT 学号, 成绩 FROM score WHERE 成绩 BETWEEN 60 AND 90;
注:BETWEEN运算符会查找包括两个边界的值 IN
SELECT 姓名, 性别 FROM student WHERE 姓名 IN ('猴子', '马云');
SELECT 姓名, 性别 FROM student WHERE 姓名 NOT IN ('猴子', '马云');
五. 字符串模糊查询
字符串模糊查询:LIKE e.g. 搜索引擎搜索关键词
%表示任意字符串:
1.猴%
-- 查询姓猴的学生名单 SELECT * FROM student WHERE 姓名 LIKE '猴%';
2.%猴
-- 查询姓名中最后一个字是聪的学生名单 SELECT * FROM student WHERE 姓名 LIKE '%聪';
3.%猴%
-- 查询姓名中带猴的学生名单 SELECT * FROM student WHERE 姓名 LIKE '%马%';
_一个下划线表示任意1个字符
-- 查询姓王的学生名单,并且姓名是三个字的 SELECT * FROM student WHERE 姓名 LIKE '王__';
-
MySQL中以日期为查询条件的方法
2021-01-26 14:43:47存储的格式是YY-mm-dd类型时查询:2.Date()函数处理字段作为日期查询条件:3.timestamp()函数来查询:4.查询指定月份的数据记录:5.查询与现在距离一定时间范围内的数据记录: 1.存储的格式是YY-mm-dd类型时查询: ...文章目录
1.存储的格式是YY-mm-dd类型时查询:
假如表product有字段add_time,它的数据类型为datetime,写sql如下:
select * from product where add_time = '2019-01-12';
对于这种语句,适合存储的格式是YY-mm-dd类型的;
2.Date()函数处理字段作为日期查询条件:
如果你存储的格式是YY-mm-dd H:i:s (2019-01-12 23:23:56)这种格式可以使用DATE()函数用来返回日期条件查询的部分,如下处理:
select * from product where Date(add_time) = '2019-01-12';
3.timestamp()函数来查询:
如果按照日期+时间模式(2019-01-12 23:23:56—时间精确到秒)查询数据库,则可以使用timestamp()函数来查询:
select * from product where timestamp(add_time) = '2019-01-12 23:23:56';
或者查询一个时间范围,可以用:
select * from product where timestamp(add_time) between '2019-01-12 03:23:56' and '2019-01-12 23:23:56';
4.查询指定月份的数据记录:
如果你要查询2013年1月份加入的产品:
select * from product where date(add_time) between '2019-01-01' and '2019-01-31' ##你还可以这样写: select * from product where Year(add_time) = 2019 and Month(add_time) = 1
5.查询与现在距离一定时间范围内的数据记录:
1.TO_DAYS()
如果你要查询最后30天以内的数据,用TO_DAYS()函数转换时间字段进行比较:
SELECT something FROM table WHERE TO_DAYS(NOW()) - TO_DAYS(date_col) <= 30;
2.DAYOFWEEK(date)
返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。mysql> select DAYOFWEEK('1998-02-03'); -> 3
3.WEEKDAY(date)
返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)。mysql> select WEEKDAY('1997-10-04 22:23:00'); -> 5 mysql> select WEEKDAY('1997-11-05'); -> 2
4.DAYOFMONTH(date)
返回date的月份中日期,在1到31范围内。mysql> select DAYOFMONTH('1998-0 -> 3
5.DAYOFYEAR(date)
返回date在一年中的日数, 在1到366范围内。mysql> select DAYOFYEAR('1998-02-03'); -> 34
6.MONTH(date)
返回date的月份,范围1到12。mysql> select MONTH('1998-02-03'); -> 2
7.DAYNAME(date)
返回date的星期名字。mysql> select DAYNAME("1998-02-05"); -> 'Thursday'
8.MONTHNAME(date)
返回date的月份名字。
mysql> select MONTHNAME("1998-02-05"); -> 'February'
9.QUARTER(date)
返回date一年中的季度,范围1到4。
mysql> select QUARTER('98-04-01'); -> 2
10.DATE_FORMAT(date,"%Y-%m-%d")
返回date 的年月日
mysql> SELECT DATE_FORMAT(now(),"%Y-%m-%d"); -> 1998-02-05
具体格式如下
格式 描述 %a 缩写星期名 %b 缩写月名 %c 月,数值 %D 带有英文前缀的月中的天 %d 月的天,数值(00-31) %e 月的天,数值(0-31) %f 微秒 %H 小时 (00-23) %h 小时 (01-12) %I 小时 (01-12) %i 分钟,数值(00-59) %j 年的天 (001-366) %k 小时 (0-23) %l 小时 (1-12) %M 月名 %m 月,数值(00-12) %p AM 或 PM %r 时间,12-小时(hh:mm:ss AM 或 PM) %S 秒(00-59) %s 秒(00-59) %T 时间, 24-小时 (hh:mm:ss) %U 周 (00-53) 星期日是一周的第一天 %u 周 (00-53) 星期一是一周的第一天 %V 周 (01-53) 星期日是一周的第一天,与 %X 使用 %v 周 (01-53) 星期一是一周的第一天,与 %x 使用 %W 星期名 %w 周的天 (0=星期日, 6=星期六) %X 年,其中的星期日是周的第一天,4 位,与 %V 使用 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用 %Y 年,4 位 %y 年,2 位 -
sqlserver 以年月日为条件查询记录
2014-10-23 11:15:46今天做一个东西的时候,要查某年,某月的记录,从网上找到了sqlserver中的datepart函数,该函数是用来提取年份,月份,日期的一个函数,带两个参数,第一个为(yy,mm,dd)其中一个,表示年月日,第二个参数为字段...今天做一个东西的时候,要查某年,某月的记录,从网上找到了sqlserver中的datepart函数,该函数是用来提取年份,月份,日期的一个函数,带两个参数,第一个为(yy,mm,dd)其中一个,表示年月日,第二个参数为字段名称。
如下:
select count(*) from 表 别名where datepart(yyy,mm,dd中的一个,别名.字段)=int类型的年月日。
-
oracle的sql语句能以最大日期作为查询条件吗?能的话怎么写
2013-11-25 18:54:07oracle的sql语句能以最大日期作为查询条件吗?能的话怎么写 打个比方 select * from user r where max(r.date) 大约是这个意思,知道的话麻烦写一条类似的sql语句,别只说思路 谢谢 -
SqlServer中的SmallDatetime作为条件查询的截至日期问题!
2017-04-06 11:14:12在数据表中字段A的类型为SmallDatetime,如果要查询词表数据并以A字段为查询条件 例:select * from Table_A where A between '2017-04-01 00:00:00' and '2017-04-06 23:59:59' 我们想要的数据是 1号 到 6号的... -
视图以日期作为条件查询条件时虽显式转换?
2012-06-28 16:54:00像下现一句查询用户表的T-SQL语句: Select * From [tableName] Where EditTime = '2012-06-07' 功能很简单,就是查询[EditTime]的值等于2012年06月07日的记录 但,当把这种东东写到了视图之后,就出事了... -
FineReport查询控件设置日期查询条件失效
2020-03-12 10:17:18问题: 条件不管选择什么日期表格都显示无结果...更改查询sql语句,将日期以字符串的方式返回到前台 具体操作 由原来的time改成to_char(time,‘yyyy/MM/dd’) time 文本格式化 空间设置返回值类型由日期改为字符串 ... -
Excel 2010 SQL应用038 以数值范围为条件的查询
2020-12-17 15:43:51日期与数字的关系和转换 源数据表 姓名 语文 数学 英语 刘静茹 85 90 90 何冬梅 75 85 71 王清容 70 76 80 程飞娥 64 57 65 朱小林 80 94 89 ... -
MYSQL /SQL 查询 日期
2013-09-10 11:03:14在开发中,会经常碰到要进行以日期为条件进行查询的情况,可以用以下方法: dm.getScrollData(UserOrder.class," TO_DAYS(?)- TO_DAYS(o.createTime)=0 and o.isBook = ? and o.status = ? and o.isAdd = ? ...... ... -
SQL Server中以时间或时间区间为条件的查询方法整理
2020-04-04 11:17:26转载自品略图书馆... select * from ShopOrder where datediff(week,[ordTime],getdate()-1)=0 //查询当天日期在一周年的数据 select * from ShopOrder where datediff(d... -
sql日期大于某日期_Excel VBA+SQL 日期的应用
2020-12-09 18:44:17日期数据在SQL表达式中的应用 在SQL表达式运算符条件中,要查询日期和时间类型的数据,需要在数据值两端加上井字符号(#)以表示日期类型。 日期可以有多种表示方式,最符合中国人的习惯是“年-月-日”或“年/月/日”... -
SSM以时间为条件查询
2019-06-30 20:23:45其他与条件查询区不大,时间查询注意点在格式上 至于日期类的前后端传值可以参考:https://blog.csdn.net/AADDDD5/article/details/92421064 1.按年查询 sql语句: 由于按年查询一般都是使用插件的,在前端页面可能... -
SQL 查询
2013-07-11 20:57:00where 条件中的关系表达式需要遵循以下原则 字符类型及日期类型需要在两端用单引号引起来 字符型大小敏感 日期型格式铭感,DD-MON-RR between and 包括边界 多列排序,首先按照第一列或表达式进行排序... -
Flink-sql之当前日期
2020-08-10 09:33:50如下看图: 在第一次接触Flinksql的时候,获取当前日期如上图...在Sql的Where条件中做条件查询,如上图; 其结果造成数据的不更新; 原因:FlinkSql函数中,获取当前日期:CURRENT_DATE ,以返回当前系统日期; ... -
考勤查询统计SQL脚本。
2018-11-27 08:43:06本文主要记录下平时工作中考勤统计中的SQL脚本,以便于后续翻阅,同时和大家分享一下,不足的地方还请大牛多多给与点评。 1.首先是查询某员工的考勤记录。可以根据年份,月份,或者时间段查询结果,同时也可以... -
sql获取当前年月日_Excel VBA+SQL 日期的应用
2021-01-25 15:07:02日期数据在SQL表达式中的应用 在SQL表达式运算符条件中,要查询日期和时间类型的数据,需要在数据值两端加上井字符号(#)以表示日期类型。 日期可以有多种表示方式,最符合中国人的习惯是“年-月-日”或“年/月/日”... -
精通sql结构化查询语句
2012-11-03 17:35:296.2.4 使用别名 6.3 排序与分组 6.3.1 升序排序与降序排序 6.3.2 多列字段排序 6.3.3 使用GROUPBY子句对查询结果进行分组 6.3.4 HAVING子句的应用 6.4 条件查询 6.4.1 WHERE单条件语句查询 6.4.2 运算符查询 6.4.3 ... -
ORACLE_OCP之SQL_子查询
2020-12-20 10:44:01将子查询放在比较条件的右侧,以提高可读性,(但是,子查询可以出现在比较运算符的任何一侧) 将单行运算符用于单行子查询,将多行运算符用于多行子查询 //栗子:找出入职日期大于Davies入职日期的人 SELECT * ... -
如何在ACCESS中以时间为条件查询数据
2006-03-16 00:01:00问题:我有一SQL数据库,...比如我在VB中用SQL语句 Select * From 表1 Where 进货时间>=2000-10-12 ,则返回所有记录,而不论条件日期为那一天,如果用在查询的时候,使用下列语句是正确的: SELECT * FORM 表一 WHE -
SQL SERVER中查询当天、当月、当年数据的SQL语句
2017-09-07 17:00:46在SQL SERVER中如果需要查询出当天、当月和当年的数据,可以通过DATEDIFF函数计算相差时间以获取正确的过滤条件。主要思路是通过DATEDIFF函数计算当前日期与数据日期的天数差、月份差和年数差,如果相差值为0,则... -
sqlserver 模糊查询常用方法
2020-12-15 11:41:15搜索条件中的模式匹配 LIKE 关键字搜索与指定模式匹配的字符串、日期或时间值。LIKE 关键字使用常规表达式包含值所要匹配的模式。模式包含要搜索的字符串,字符串中可包含四种通配符的任意组合。 通配符 含义 % 包含...
-
视频转换器WonderFox便携注册版 UI界面好看.rar
-
网上行销原则.txt
-
联想EXCEL培训资料.ppt
-
二分边界
-
Homebrew更换源
-
摄影测量之空间后方交会程序.zip
-
linux ubuntu18.04 英伟达驱动 实测能装上 识别1080ti 1070ti显卡 NVIDIA-Linux-x86_64-460.39.run
-
NLP系列(二)基于Siamese Network进行问题句子相似性判定
-
day59 填算式
-
docker hub cuda-python-pytorch-pip Dockerfile
-
装备制造行业智能制造方案.pptx
-
U盘量产软件.zip
-
Amoeba 实现 MySQL 高可用、负载均衡和读写分离
-
骑士人才招聘系统 5.2.6商业版.zip
-
【爱码农】C#制作MDI文本编辑器
-
MySQL NDB Cluster 负载均衡和高可用集群
-
Mysql数据库。
-
Java 面向对象测试题-3
-
华为1+X——网络系统建设与运维(高级)
-
jupyter的使用.txt