文本行如下:日期 时间 参数
2010-1-1 22:00:01 1
2010-1-1 22:01:10 100
2010-1-1 22:02:12 95
..
2010-1-2 22:00:01 92
2010-1-2 22:01:15 9369-----------------需要导入后成为(表的格式如下):
日期 时间 参数 序号
2010-1-1 22.00 1 1
2010-1-1 22.01 100 2
2010-1-1 22.02 95 3
..
2010-1-2 22.00 92 1
2010-1-2 22.01 9369 2
...请教使用"数据导入"功能时该如何做,谢谢!(业务层做的效率与"数据导入"功能相差太大)
2010-1-1 22:00:01 1
2010-1-1 22:01:10 100
2010-1-1 22:02:12 95
..
2010-1-2 22:00:01 92
2010-1-2 22:01:15 9369-----------------需要导入后成为(表的格式如下):
日期 时间 参数 序号
2010-1-1 22.00 1 1
2010-1-1 22.01 100 2
2010-1-1 22.02 95 3
..
2010-1-2 22.00 92 1
2010-1-2 22.01 9369 2
...请教使用"数据导入"功能时该如何做,谢谢!(业务层做的效率与"数据导入"功能相差太大)
*,
序号=row_number(partition by 日期 order by 时间)
from
tb
from tb
/*------------------------------------------------------------------
-- Author : htl258(Tony)
-- Date : 2010-04-16 17:23:50
-- Version: Microsoft SQL Server 2008 (RTM) - 10.0.1600.22 (Intel X86)
Jul 9 2008 14:43:34
Copyright (c) 1988-2008 Microsoft Corporation
Developer Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)------------------------------------------------------------------*/
--> 生成测试数据表:tbIF OBJECT_ID('[tb]') IS NOT NULL
DROP TABLE [tb]
GO
CREATE TABLE [tb]([日期] DATETIME,[时间] DATETIME,[参数] INT)
INSERT [tb]
SELECT N'2010-1-1','22:00:01',1 UNION ALL
SELECT N'2010-1-1','22:01:10',100 UNION ALL
SELECT N'2010-1-1','22:02:12',95 UNION ALL
SELECT N'2010-1-2','22:00:01',92 UNION ALL
SELECT N'2010-1-2','22:01:15',9369
GO
--SELECT * FROM [tb]-->SQL查询如下:
select *,序号=row_number()over(partition by 日期 order by 时间)
from tb
/*
日期 时间 参数 序号
----------------------- ----------------------- ----------- --------------------
2010-01-01 00:00:00.000 1900-01-01 22:00:01.000 1 1
2010-01-01 00:00:00.000 1900-01-01 22:01:10.000 100 2
2010-01-01 00:00:00.000 1900-01-01 22:02:12.000 95 3
2010-01-02 00:00:00.000 1900-01-01 22:00:01.000 92 1
2010-01-02 00:00:00.000 1900-01-01 22:01:15.000 9369 2(5 行受影响)
*/