複製資料結構
Select * into NewTable From OldTable Where 1=0
複製TABLE資料結構和資料
Select * into NewTable From OldTable
Select * into NewTable From OldTable Where 1=0
Select * into NewTable From OldTable
//狀況1
select email
into #tempMail
from member with(nolock)
where ..some conditions
SELECT * FROM #tempMail WHERE email LIKE 'A%' ORDER BY email
//狀況2
//暫存表的建法 是在table名稱前加上 #
create table #tmp_table (return_id nvarchar(30) , pid nvarchar(20))
//建完後insert資料
insert into #tmp_table(return_id ,pid) values('XXXXXX','YYYY')
// 這裡是用 ,pid, 當作排序依據 charindex(exp1,exp2)會回傳exp1所在的位置,起始值是1
select pid,name
from temp
where pid in ('p004','p008','p435','p123','p056')
order by charindex(',' + cast(pid as varchar(10) + ',' , ',p004','p008','p435','p123','p056,' ))
//如果排序的對象有空白(不管空白是在字串前或後) 可以用 rtrim() 來Trim掉空白
select rtrim(pid),name
from temp
where pid in ('p004','p008','p435','p123','p056')
order by charindex(',' + rtrim(cast(pid as varchar(10)) + ',' , ',p004','p008','p435','p123','p056,' ))
//EX1 SELECT CONCAT(Country , + ',' + City , + ',' + Zip) as address FROM Table //Ex2 SELECT Country ',' + City + ',' + Zip as address FROM Table
DELETE FROM [Table] WHERE ( SELECT ID FROM [Table] WHERE DATEDIFF(minute,CreateTime,getdate()) > 10 ) --順便塞一下 用SQL 算出這個月的最後一天 SELECT DATEADD(MONTH, DATEDIFF(MONTH, -1, GETDATE() ), -1)
/* SCOPE_IDENTITY() 會返回最後一個識別值*/
INSERT INTO TableName (Column1,Value1,CreateDate)
VALUES ('New',1,GETDATE())
SELECT ID FROM TableName WHERE ID = SCOPE_IDENTITY();