34,590
社区成员
发帖
与我相关
我的任务
分享
------------------------------------------------------------------------
-- Author: happyflystone
-- Date : 2009-04-30 14:54:01
-- Ver: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)
-- Apr 14 2006 01:12:25
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
--
------------------------------------------------------------------------
-- Test Data: tb_sms_mo
IF OBJECT_ID('tb_sms_mo') IS NOT NULL
DROP TABLE tb_sms_mo
Go
CREATE TABLE tb_sms_mo(记录编号 INT,手机号码 bigINT,短信内容 NVARCHAR(200),接收时间 DATETIME)
Go
INSERT INTO tb_sms_mo
SELECT 51,13903801942,'我在平原饭店后面洗浴中心买澡票被骗,希望你们查处。','2009-03-14 17:26:36.000' UNION ALL
SELECT 52,13937368470,'我家装修时被家装公司强行将我家门拉走,还将工期延长,好多未完工就不管了,请问如何维权?','2009-03-14 17:39:17.000' UNION ALL
SELECT 53,13598671063,'我在莎幔利莎美容店受误导开了双份的美容卡。','2009-03-14 17:44:07.000' UNION ALL
SELECT 54,13598671063,'就说不能退,我希望工商局能帮我维护我的权益!','2009-03-14 17:44:09.000' UNION ALL
SELECT 55,13781956908,'我单位委托德帮物流新乡分公司运货,运坏损失近三万,近四个月仍据不赔偿。请可否协助?','2009-03-14 17:51:06.000' UNION ALL
SELECT 56,13703436404,'去年北京有一骗子公司通过电话说它是北京电视购物中心骗我购买了一个手机价值约一千八佰元,手机通过中国邮?','2009-03-14 17:55:03.000' UNION ALL
SELECT 57,13703436404,'假手机模型,而邮局先代收货款,收款后才能拆封然后就不负任何责任.骗子现在,依然还在行骗,不知怎么才能使骗子绳之以法.怎样让邮局不再当骗子','2009-03-14 17:55:07.000 ' UNION ALL
SELECT 58,13703436404,'的帮凶.','2009-03-14 17:55:08.000' UNION ALL
SELECT 59,13623900047,'我的手机中天-爱立信D518电池买来就有问题,买时说待机在十天以上,而真实待机只有三天,并在保修期内,却','2009-03-14 17:56:46.000' UNION ALL
SELECT 60,13623900047,'不满,希望给予协助,以保护消费者应有权益,刘蕴','2009-03-14 17:56:52.000'
GO
--Start
create function f_str(@tel bigint,@d datetime)
returns nvarchar(1000)
as
begin
declare @s nvarchar(1000)
select @s = isnull(@s+'','')+短信内容 from tb_sms_mo where 手机号码 = @tel and abs(datediff(mi,@d,接收时间)) < 2
order by 接收时间
return @s
end
go
select distinct 手机号码,dbo.f_str(手机号码,接收时间)
from tb_sms_mo
group by 手机号码,接收时间
drop function f_str
--Result:
/*
手机号码
-------------------- ------------------
13598671063 我在莎幔利莎美容店受误导开了双份的美容卡。就说不能退,我希望工商局能帮我维护我的权益!
13623900047 我的手机中天-爱立信D518电池买来就有问题,买时说待机在十天以上,而真实待机只有三天,并在保修期内,却不满,希望给予协助,以保护消费者应有权益,刘蕴
13703436404 去年北京有一骗子公司通过电话说它是北京电视购物中心骗我购买了一个手机价值约一千八佰元,手机通过中国邮?假手机模型,而邮局先代收货款,收款后才能拆封然后就不负任何责任.骗子现在,依然还在行骗,不知怎么才能使骗子绳之以法.怎样让邮局不再当骗子的帮凶.
13781956908 我单位委托德帮物流新乡分公司运货,运坏损失近三万,近四个月仍据不赔偿。请可否协助?
13903801942 我在平原饭店后面洗浴中心买澡票被骗,希望你们查处。
13937368470 我家装修时被家装公司强行将我家门拉走,还将工期延长,好多未完工就不管了,请问如何维权?
*/
--End
------------------------------------------------------------------------
-- Author: happyflystone
-- Date : 2009-04-30 13:57:31
-- Ver: Microsoft SQL Server 2005 - 9.00.2047.00 (Intel X86)
-- Apr 14 2006 01:12:25
-- Copyright (c) 1988-2005 Microsoft Corporation
-- Standard Edition on Windows NT 5.0 (Build 2195: Service Pack 4)
--
------------------------------------------------------------------------
-- Test Data: T1
IF OBJECT_ID('T1') IS NOT NULL
DROP TABLE T1
Go
CREATE TABLE T1(a DATETIME,b INT)
Go
INSERT INTO T1
SELECT '2009-01-01 10:1:1',1 UNION ALL
SELECT '2009-01-01 10:2:1',2 UNION ALL
SELECT '2009-01-01 10:5:1',1 UNION ALL
SELECT '2009-01-01 10:9:1',1 UNION ALL
SELECT '2009-01-01 10:10:1',2 UNION ALL
SELECT '2009-01-01 10:11:1',2
GO
--Start
declare @d datetime
select @d = min(a) from t1
SELECT
* ,id =identity(int,1,1)
into #
FROM
T1
select * from t1
select max(a) as a,sum(b) as b
from #
group by datediff(mi,@d,a)-id
Drop table #
--Result:
/*
a b
----------------------- -----------
2009-01-01 10:01:01.000 1
2009-01-01 10:02:01.000 2
2009-01-01 10:05:01.000 1
2009-01-01 10:09:01.000 1
2009-01-01 10:10:01.000 2
2009-01-01 10:11:01.000 2
a b
----------------------- -----------
2009-01-01 10:02:01.000 3
2009-01-01 10:05:01.000 1
2009-01-01 10:11:01.000 5
*/
--End
select * from tb where convert(varchar(10),datetime,120)='2009-04-30' --日期
and Datepart(hh,getdate())=13 --小时
and Datepart(mi,getdate())=36 --分钟
and Datepart(ss,getdate())=58 --秒
WHERE DATEDIFF(day,'2009-04-30 12:20:24','2009-04-30 19:50:33')=0
--*******************************************************************************
-- 日期转换参数大全
--********************************************************************************
select CONVERT(varchar,getdate(),120)
--2009-03-15 15:10:02
select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
--20090315151201
select CONVERT(varchar(12) , getdate(), 111)
--2009/03/15
select CONVERT(varchar(12) , getdate(), 112)
--20090315
select CONVERT(varchar(12) , getdate(), 102)
--2009.03.15
select CONVERT(varchar(12) , getdate(), 108)
--15:13:26
其它我不常用的日期格式转换方法:
select CONVERT(varchar(12) , getdate(), 101 )
--03/15/2009
select CONVERT(varchar(12) , getdate(), 103 )
--15/03/2009
select CONVERT(varchar(12) , getdate(), 104 )
--15.03.2009
select CONVERT(varchar(12) , getdate(), 105 )
--15-03-2009
select CONVERT(varchar(12) , getdate(), 106 )
--15 03 2009
select CONVERT(varchar(12) , getdate(), 107 )
-- 15, 2009
select CONVERT(varchar(12) , getdate(), 109 )
--03 15 2009
select CONVERT(varchar(12) , getdate(), 110 )
--03-15-2009
select CONVERT(varchar(11) , getdate(), 113 )
--15 03 2009
select CONVERT(varchar(12) , getdate(), 114)
--15:15:55:717