⑴ 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」為後綴的文件即可。