⑴ sql server 2008 实现 间隔分组
/*
添加一列辅助列
用update更新一个规则,相同的VehicleSimID和连续的PassengerState为一值
然后分组查询
*/
Alter Table T Add A Int
Declare @A int=0
Declare @vid int
Declare @pState int
Update T Set A=@A,
@A=Case When @vid=VehicleSimID Then
Case When @pState<>PassengerState Then @A+1 Else @A End
Else 0 End,
@vid=VehicleSimID,@pState=PassengerState
Select VehicleSimID,MAX(GPSTime) As maxGPSTime,MIN(GPSTime) As MINGPSTime,
DATEDIFF(MS,min(GPSTime),max(GPSTime)) As con_time
From T
Group By VehicleSimID,A
Order By VehicleSimID
⑵ sqlserver2008分离了默认在哪啊
还在你数据库原始位置
⑶ 在sql server 2008中处理文本数据,有一列是一段话,想根据标点符号把这一列分成若干列,要怎么操作
用substring函数截取,然后用insert into 表名 ( columnname )
⑷ sql server 2008数据库的分离是什么意思
数据库分离是指将数据库文件从数据库服务器实例中分离出来,相当于关闭了数据库。数据库分离后,应用程序不能连接到该数据库,数据库文件可以被其它进程访问。通常分离数据库用于快速地将数据库迁移到另一个sqlserver实例。
数据库分离后,还可以附加到sqlserver实例。
⑸ SQL实现分栏(sql server 2008),分4栏目显示,且每栏显示20行,如何写SQL实现
select
(select * from 表 where NO%80 <20 order by Fname,Fdate),
(select * from 表 where NO%80 <40 and NO%80 > 21 order by Fname,Fdate),
(select * from 表 where NO%80 <60 and NO%80 > 41 order by Fname,Fdate),
(select * from 表 where NO%80 <80 and NO%80 > 61 order by Fname,Fdate)
from al;
⑹ 关于sql server(本人用的是2008),要求是多列用一行显示并用逗号隔开
另外,如果需要找出u_name中既有“三”又有“猫”的记录,请使用and条件
SELECT * FROM [user] WHERE u_name LIKE '%三%' AND u_name LIKE '%猫%'
若使用 SELECT * FROM [user] WHERE u_name LIKE '%三%猫%'
虽然能搜索出“三脚猫”,但不能搜索出符合条件的“张猫三”。
2,_ : 表示任意单个字符。匹配单个任意字符,它常用来限制表达式的字符长度语句:
比如 SELECT * FROM [user] WHERE u_name LIKE '_三_'
只找出“唐三藏”这样u_name为三个字且中间一个字是“三”的;
再比如 SELECT * FROM [user] WHERE u_name LIKE '三__';
只找出“三脚猫”这样name为三个字且第一个字是“三”的;
3,[ ] :表示括号内所列字符中的一个(类似正则表达式)。指定一个字符、字符串或范围,要求所匹配对象为它们中的任一个。
比如 SELECT * FROM [user] WHERE u_name LIKE '[张李王]三'
将找出“张三”、“李三”、“王三”(而不是“张李王三”);
如 [ ] 内有一系列字符(01234、abcde之类的)则可略写为“0-4”、“a-e”
SELECT * FROM [user] WHERE u_name LIKE '老[1-9]'
将找出“老1”、“老2”、……、“老9”;
4,[^ ] :表示不在括号所列之内的单个字符。其取值和 [] 相同,但它要求所匹配对象为指定字符以外的任一个字符。
比如 SELECT * FROM [user] WHERE u_name LIKE '[^张李王]三'
将找出不姓“张”、“李”、“王”的“赵三”、“孙三”等;
SELECT * FROM [user] WHERE u_name LIKE '老[^1-4]';
将排除“老1”到“老4”,寻找“老5”、“老6”、……
由于通配符的缘故,导致我们查询特殊字符“%”、“_”、“[”的语句无法正常实现,而把特殊字符用“[ ]”括起便可正常查询。
⑺ 想要在sql server2008中将一行拆成两行,如何操作
直接用SQL不太好操作,可以尝试做个存储过程来处理一下字符串,然后返回新的结果。
⑻ sqlserver2008 怎样进行数据库分离
sql
server
2008数据库分离操作跟sql
server
2005是一样的,以下具体介绍如何分离sql
server
数据库:
1、打开
sql
server
控制台(SQL
Server
Management
Studio),然后登录。
2、登录时如果知道sa密码可以使用“SQL
Server身份验证”模式登录,如果不知道sa密码可以使用“windows身份验证”模式登录就不需要密码登录。而sql
server
2008的用户一般是在安装的时候自定义的用户,但也可以使用“windows身份验证”模式登录。
3、登录到控制到中之后,找到【数据库】点击展开,然后找到你所需要分离的数据库名称。选中数据库【右键】-【任务】-【分离】即可。
附件说明:分离数据库一般是需要将数据库拷贝到其他机器或者是移动磁盘时和不需要使用该数据库的情况下才做数据库分离。数据库一旦分离之后所对应的软件将无法正常使用和打开数据库。如果需要重新将数据库还原到数据库控制台中,选中【数据库】-【右键】-【附加】,找到你所要附件的数据所在的磁盘路径,选择以“.MDF”为后缀的文件即可。
⑼ sqlserver2008 字符分割的字段怎么分成列
用SQL SERVER XML 功能来解决
----> 生成测试数据: @T
DECLARE @T TABLE (id INT,Col1 VARCHAR(50),Col2 VARCHAR(50))
INSERT INTO @T
SELECT 1,'卸货费','运输车队业务, 客服接单业务'
UNION ALL
SELECT 2,'报关费','报关业务、客服接单业务'
----SQL查询如下:
SELECT
T.id,
A.x.value('.','varchar(10)') AS code,
B.x.value('.','varchar(10)') AS code2
FROM (
SELECT *,doc = CONVERT(xml,'<v>'+REPLACE(code,',','</v><v>')+'</v>'),
doc2=CONVERT(xml,'<v>'+REPLACE(code2,',','</v><v>')+'</v>')
FROM @T
) AS T
CROSS APPLY doc.nodes('//v') AS A(x)
CROSS APPLY doc2.nodes('//v') AS B(x)
⑽ sqlserver2008 怎样进行数据库分离
sql server 2008数据库分离操作跟sql server 2005是一样的,以下具体介绍如何分离sql server 数据库:
1、打开 sql server 控制台(SQL Server Management Studio),然后登录。
2、登录时如果知道sa密码可以使用“SQL Server身份验证”模式登录,如果不知道sa密码可以使用“windows身份验证”模式登录就不需要密码登录。而sql server 2008的用户一般是在安装的时候自定义的用户,但也可以使用“windows身份验证”模式登录。
3、登录到控制到中之后,找到【数据库】点击展开,然后找到你所需要分离的数据库名称。选中数据库【右键】-【任务】-【分离】即可。
附件说明:分离数据库一般是需要将数据库拷贝到其他机器或者是移动磁盘时和不需要使用该数据库的情况下才做数据库分离。数据库一旦分离之后所对应的软件将无法正常使用和打开数据库。如果需要重新将数据库还原到数据库控制台中,选中【数据库】-【右键】-【附加】,找到你所要附件的数据所在的磁盘路径,选择以“.MDF”为后缀的文件即可。