Sql Server ÖÐÒ»¸ö·Ç³£Ç¿´óµÄÈÕÆÚ¸ñʽ»¯º¯Êý
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8): 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GE ......
ÎÊÌâµÄÌá³ö£º
ÏÖÓбíA£¬ÄÚÈÝÈçÏ£º
±àÂë ²Ö¿â ÊýÁ¿
01 A 6
01 B 7
02 A 8
02 B 9
ÏÖÔÚÏë°´±àÂë²éѯ³öÕâÖÖ¸ñʽ:
--------------------
01 A 6
01 B 7
»ã×ÜС¼Æ£º 13
02 A 8
02 B 9
»ã×ÜС¼Æ£º 17
ÎÊ£º¸ÃÈçºÎʵÏÖ£¿
Õ§Ò»¿´£¬ºÃÏñºÜÈÝÒ×£¬ÓÃgroup byºÃÏñÄÜʵÏÖ£¿µ«×ÐϸÑо¿ÏÂÈ¥£¬ÄãÓÖ»á¾õµÃgroup byÒ²ÊÇÎÞÄÜΪÁ¦£¬×ÜǷȱµãÊ ......
exists £¨sql ·µ»Ø½á¹û¼¯ÎªÕ棩
not exists (sql ²»·µ»Ø½á¹û¼¯ÎªÕ棩
ÈçÏ£º
±íA
ID NAME
1 A1
2 A2
3 A3
±íB
ID AID NAME
1 1 B1
2 2 B2
3 2 B3
±íAºÍ±íBÊÇ£±¶Ô¶àµÄ¹ØÏµ A.ID => B.AID
SELECT ID,NAME from A WHERE EXIST (SELECT * from B WHERE A.ID=B.AID)
Ö´Ðнá¹ûΪ
1 A1
2 A2
ÔÒò¿ÉÒÔ°´ÕÕÈçÏ·ÖÎö
SELECT ID,NAME from A WHERE EXISTS (SELECT * from B WHERE B.AID=£±)
--->SELECT * from B WHERE B.AID=£±ÓÐÖµ·µ»ØÕæËùÒÔÓÐÊý¾Ý
SELECT ID,NAME from A WHERE EXISTS (SELECT * from B WHERE B.AID=2)
--->SELECT * from B WHERE B.AID=£²ÓÐÖµ·µ»ØÕæËùÒÔÓÐÊý¾Ý
SELECT ID,NAME from A WHERE EXISTS (SELECT * from B WHERE B.AID=3)
--->SELECT * from B WHERE B.AID=£³ÎÞÖµ·µ»ØÕæËùÒÔûÓÐÊý¾Ý
NOT EXISTS ¾ÍÊÇ·´¹ýÀ´
SELECT ID,NAME from A WHERE¡¡NOT EXIST (SELECT * from B WHERE A.ID=B.AID)
Ö´Ðнá¹ûΪ
3 A3
===================================================================== ......
Ò»¡¢°´Ö¸¶¨·ûºÅ·Ö¸î×Ö·û´®£¬·µ»Ø·Ö¸îºóµÄÔªËØ¸öÊý£¬·½·¨ºÜ¼òµ¥£¬¾ÍÊÇ¿´×Ö·û´®ÖдæÔÚ¶àÉÙ¸ö·Ö¸ô·ûºÅ£¬È»ºóÔÙ¼ÓÒ»£¬¾ÍÊÇÒªÇóµÄ½á¹û¡£
CREATE function Get_StrArrayLength
(
@str varchar(1024), --Òª·Ö¸îµÄ×Ö·û´®
@split varchar(10) --·Ö¸ô·ûºÅ
)
returns int
as
begin
declare @location int
declare @start int
declare @length int
set @str=ltrim(rtrim(@str))
set @location=charindex(@split,@str)
set @length=1
while @location<>0
begin
set @start=@location+1
set @location=charindex(@split,@str,@start)
set @length=@length+1
end
return @length
end
µ÷ÓÃʾÀý£ºselect dbo.Get_StrArrayLength('78,1,2,3',',')
·µ»ØÖµ£º4
¶þ¡¢°´Ö¸¶¨·ûºÅ·Ö¸î×Ö·û´®£¬·µ»Ø·Ö¸îºóÖ¸ ......
--¼ì²âCPUѹÁ¦µÄÒ»¸ö·½·¨ÊǼÆËãÔËÐÐ״̬ÏµĹ¤×÷½ø³ÌÊýÁ¿£¬
--ͨ¹ýÖ´ÐÐÈçϵÄDMV²éѯ¿ÉÒԵõ½Õâ¸öÐÅÏ¢
SELECT COUNT(*) AS workers_waiting_for_cpu,t2.scheduler_id
from sys.dm_os_workers AS t1, sys.dm_os_schedulers AS t2
WHERE t1.state='RUNNABLE' AND
t1.scheduler_address = t2.scheduler_address AND
t2.scheduler_id<255
GROUP BY t2.scheduler_id
--Ò²¿ÉÒÔÖ´ÐÐÈçϵIJéѯµÃµ½¹¤×÷½ø³ÌÔÚ¿ÉÔËÐÐ״̬Ï»¨·ÑµÄʱ¼ä
SELECT SUM(signal_wait_time_ms) from sys.dm_os_wait_stats
--ÏÂÃæÊÇÒ»¸öDMV²éѯ£¬Ëü¿ÉÒÔÓÃÀ´ÕÒ³öÿ´ÎÖ´ÐÐÖÐÕ¼ÓÃCPU×î¶àµÄÇ®10Ϊ²éѯ£¬
--Ò²ÁгöÁËSQLÓï¾äµÄ²éѯ¼Æ»®¼°¼Æ»®±»Ö´ÐеĴÎÊý¡£Èç¹ûÒ»¸ö²éѯ´ó¼ÒËä¸ß£¬
--µ«Ö´ÐдÎÊýÉÙ£¬ÄÇÒ²¿ÉÒÔ²ÉÄÉ¡£
SELECT TOP 10
total_worker_time/execution_count AS avg_cpu_cost, plan_handle,execution_count,
(SELECT SUBSTRING(text,statement_start_offset/2+1,
(CASE WHEN statement_end_offset=-1
THEN LEN(CONVERT(NVARCHAR(max),text))*2
......
How To Use Dynamic Sql in Sql Server ?
¶¯Ì¬SQL ÔÚsql server ProcedureÖеÄÓ¦ÓÃ
Create PROCEDURE [dbo].[Proc_Get_Serial_No]
(
@Table_Name varchar(20),
@No_File varchar(20)
)
AS
Declare @Serial_No int
Begin
Declare @Sql nvarchar(max)
Set @Sql ='select @Serial_No= isnull(Max('+@No_File+'),0)+1 from '+@Table_Name+''
Execute sp_executesql @Sql,
N'@Serial_No int output',
  ......