⑴ sql中如何选择表中日期最大值
给你个思路:
WITHMessages(ID,ToEmpID,FromEmpID,SendDate,Detail)AS
(
SELECT1,'张三','李四','2014/06/05','a'UNIONALL
SELECT2,'王五','张三','2014/06/03','b'UNIONALL
SELECT3,'刘六','张三','2014/06/02','b'UNIONALL
SELECT4,'张三','李四','2014/05/05','a'UNIONALL
SELECT5,'王五','张三','2014/05/03','b'UNIONALL
SELECT6,'刘六','张三','2014/05/02','b'
)
SELECTID,ToEmpID,FromEmpID,SendDateFROMMessagesa
WHEREIDin
(
SELECTTOP1ID
FROMMessages
whereToEmpID=a.ToEmpIDANDFromEmpID=a.FromEmpID
ORDERBYSendDateDESC
)
⑵ SQL如何按条件选择DateTime的格式
我的 字段名是 a, 结果应该是满足要求的
1> SELECT * FROM test_jiulang1989
2> go
a
-----------------------
2010-10-20 22:14:42.640
2010-10-10 10:10:10.000
(2 行受影响)
1>
2> SELECT
3> CASE
4> WHEN DATEADD(DAY, DATEDIFF(DAY, 0, GETDATE()), 0)
5> = DATEADD(DAY, DATEDIFF(DAY, 0, a), 0)
6> THEN CONVERT(NVARCHAR(100),a,8)
7> ELSE
8> CONVERT(NVARCHAR(100),a, 23)
9> END
10> FROM
11> test_jiulang1989
12> go
--------------------------------------------------------------------------------
--------------------
22:14:42
2010-10-10
(2 行受影响)
1>
⑶ sql select关于日期的选择
select from store where date='2007-10-27 '
select from store where date='2007-2-5 '
select from store where date='2007-1-27 '
就这样写的,日期格式就得这样,换了其它还不行,另外'2007-2-5 '和'2007-02-05 '效果一样
变量就直接select from store where date=变量
⑷ sql 在日期中挑选出特定月份的所有日期
select * from 表 where 比赛时间 between '2014-03-01' and '2014-03-31 23:59:59'
这个方法要比第一个回答的快。你可以测试一下,当数据量在2000行以上的时候很明显
⑸ SQL语句按日期选择当天的记录如何操作
如果当前是2007-4-8
打开查询分析器
updata hua set songhua_date =想要改的日期 where 名字='admin'
⑹ sql 如何选取某时间段 的数据代码
sql 如何选取某时间段 的数据代码
1
select * from " tableName " where DATA_TIME >=<a href="https://www..com/s?wd=CONVERT&tn=44039180_cpr&fenlei=--bIi4WUvYETgN-" target="_blank" class="-highlight">CONVERT</a>(<a href="https://www..com/s?wd=VARCHAR&tn=44039180_cpr&fenlei=--bIi4WUvYETgN-" target="_blank" class="-highlight">VARCHAR</a>,startTime,120) and DATA_TIME <<a href="https://www..com/s?wd=CONVERT&tn=44039180_cpr&fenlei=--bIi4WUvYETgN-" target="_blank" class="-highlight">CONVERT</a>(<a href="https://www..com/s?wd=VARCHAR&tn=44039180_cpr&fenlei=--bIi4WUvYETgN-" target="_blank" class="-highlight">VARCHAR</a>,endTime,120)
⑺ 在sql数据库中如何筛选以日期为条件的记录
sql数据库中如筛选以日期为条件的记录,可以用有二种方法具体实现,如下:
第一种:直接用语句
date1与date2是字符串
SQL.Tet:='select * from table where 字段 between '+Quotedstr(date1)+' and '+Quotedstr(date2);
date1与date2是日期
SQL.Tet:='select * from table where 字段 between '+Quotedstr(DateTimeToStr(date1))+' and '+Quotedstr(DateTimeToStr(date2));
第二种:用参数形式:
SQL.Tet:='select * from table where 字段 between :d1 and :d2';
Parameters.ParamByName('d1').Value:=date1;
Parameters.ParamByName('d2').Value:=date2;
⑻ sql如何按日期中的月份查询
sql按日期中的月份查询如下:
SQL Server
select * from [data] where DATEPART(m,[date])=2
Access
select * from [data] where DATEPART('m',[date])=2
说明:
DATEPART(datepart,date)
返回表示指定日期的指定部分的整数
datepart 要取得的日期部分
- m 表示月份,d表示日,yyyy表示年
date 日期表达式
举例:
--以2013-12-10 12:56:55为例
--convert(nvarchar(10),CreateDate,120) => 2013-12-10
--DATEPART(month,CreateDate) => 12
--DATEPART(year,CreateDate) => 2013
--月
select datepart(MONTH,'2013-06-08')
select datepart(mm,'2013-06-08')
select datepart(m,'2013-06-08')
(8)sql选择日期扩展阅读:
相关函数
SQL Aggregate 函数
SQL Aggregate 函数计算从列中取得的值,返回一个单一的值。
有用的 Aggregate 函数:
AVG() - 返回平均值
COUNT() - 返回行数
FIRST() - 返回第一个记录的值
LAST() - 返回最后一个记录的值
MAX() - 返回最大值
MIN() - 返回最小值
SUM() - 返回总和
SQL Scalar 函数
SQL Scalar 函数基于输入值,返回一个单一的值。
有用的 Scalar 函数:
UCASE() - 将某个字段转换为大写
LCASE() - 将某个字段转换为小写
MID() - 从某个文本字段提取字符
LEN() - 返回某个文本字段的长度
ROUND() - 对某个数值字段进行指定小数位数的四舍五入
NOW() - 返回当前的系统日期和时间
⑼ sql 如何选择最近的日期
呵呵,midasblesshj的方法其实第一种是好的,但是第二种要是把abs函数去掉了那就坏了,因为去掉了abs,无论你怎样做,取到的永远都是最小日期的值,当查询日期比20090605大时,结果正确,但是比他小时,结果就是错了的,因为min函数可以是负的,最小的负数则离目标结果很远了。
正确的应该就是第一个语句,要去除重复加distinct:
select distincr * from 表 where abs(datediff(d,date,'20090605'))=(select min(abs(datediff(d,date,'20090605')))from 表)
但是又正如midasblesshj所说,有个问题,当查询'20090605'时,离他最近的有可能有两个值,比如'20090604'和'20090606'。
所以这就需要楼主做取舍了 如果两个都要,则什么都不加,只要一个,则利用top和order by :
select distincr top 1 * from 表 where abs(datediff(d,date,'20090605'))=(select min(abs(datediff(d,date,'20090605')))from 表) order by date
当然 是要大的还是小的那个,就使用asc和desc来取吧
⑽ sql 按日期汇总
参考 29、人的一生中有大大小小的等待,人渐渐忘记了自己等待的是什么。