![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
MS-SQL数据库开发常用汇总 1.按姓氏笔画排序:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
Select * From TableName Order By CustomerName Collate Chinese_PRC_Stroke_ci_as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
2.数据库加密:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select encrypt('原始密码')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select pwdencrypt('原始密码')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同 encrypt('原始密码')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select pwdencrypt('原始密码')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select pwdcompare('原始密码','加密后密码') = 1--相同;否则不相同
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
3.取回表中字段:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
declare @list varchar(1000),@sql nvarchar(1000)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select @list=@list+','+b.name from sysobjects a,syscolumns b where a.id=b.id and a.name='表A'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
set @sql='select '+right(@list,len(@list)-1)+' from 表A'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
exec (@sql)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
4.查看硬盘分区:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
EXEC master..xp_fixeddrives
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
5.比较A,B表是否相等:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
if (select checksum_agg(binary_checksum(*)) from A)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
=
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
(select checksum_agg(binary_checksum(*)) from B)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
print '相等'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
else
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
print '不相等'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
6.杀掉所有的事件探察器进程:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
DECLARE hcforeach CURSOR GLOBAL FOR SELECT 'kill '+RTRIM(spid) FROM master.dbo.sysprocesses
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
WHERE program_name IN('SQL profiler',N'SQL 事件探查器')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
EXEC sp_msforeach_worker '?'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
7.记录搜索:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
开头到N条记录
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
Select Top N * From 表
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
-------------------------------
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
N到M条记录(要有主索引ID)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
Select Top M-N * From 表 Where ID in (Select Top M ID From 表) Order by ID Desc
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
----------------------------------
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
N到结尾记录
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
Select Top N * From 表 Order by ID Desc
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
8.如何修改数据库的名称:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
sp_renamedb 'old_name', 'new_name'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
9:获取当前数据库中的所有用户表
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select Name from sysobjects where xtype='u' and status>=0
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
10:获取某一个表的所有字段
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select name from syscolumns where id=object_id('表名')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
11:查看与某一个表相关的视图、存储过程、函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%表名%'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
12:查看当前数据库中所有存储过程
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select name as 存储过程名称 from sysobjects where xtype='P'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
13:查询用户创建的所有数据库
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select * from master..sysdatabases D where sid not in(select sid from master..syslogins where name='sa')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
或者
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select dbid, name AS DB_NAME from master..sysdatabases where sid <> 0x01
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
14:查询某一个表的字段和数据类型
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select column_name,data_type from information_schema.columns
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
where table_name = '表名'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
[n].[标题]:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
Select * From TableName Order By CustomerName
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
[n].[标题]:
来自
http://dev.csdn.net/develop/article/83/83138.shtm
一、 只复制一个表结构,不复制数据
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select top 0 * into [t1] from [t2]
二、 获取数据库中某个对象的创建脚本
1、 先用下面的脚本创建一个函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if exists(select 1 from sysobjects where id=object_id('fgetscript') and objectproperty(id,'IsInlineFunction')=0)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
drop function fgetscript
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create function fgetscript(
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
@servername varchar(50) --服务器名
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
,@userid varchar(50)='sa' --用户名,如果为nt验证方式,则为空
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
,@password varchar(50)='' --密码
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
,@databasename varchar(50) --数据库名称
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
,@objectname varchar(250) --对象名
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
) returns varchar(8000)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @re varchar(8000) --返回脚本
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @srvid int,@dbsid int --定义服务器、数据库集id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @dbid int,@tbid int --数据库、表id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @err int,@src varchar(255), @desc varchar(255) --错误处理变量
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--创建sqldmo对象
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oacreate 'sqldmo.sqlserver',@srvid output
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--连接服务器
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if isnull(@userid,'')='' --如果是 Nt验证方式
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oasetproperty @srvid,'loginsecure',1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oamethod @srvid,'connect',null,@servername
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
else
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oamethod @srvid,'connect',null,@servername,@userid,@password
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--获取数据库集
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oagetproperty @srvid,'databases',@dbsid output
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--获取要取得脚本的数据库id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oamethod @dbsid,'item',@dbid output,@databasename
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--获取要取得脚本的对象id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oamethod @dbid,'getobjectbyname',@tbid output,@objectname
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--取得脚本
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec @err=sp_oamethod @tbid,'script',@re output
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @err<>0 goto lberr
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--print @re
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
return(@re)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
lberr:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec sp_oageterrorinfo NULL, @src out, @desc out
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @errb varbinary(4)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
set @errb=cast(@err as varbinary(4))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec master..xp_varbintohexstr @errb,@re out
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
set @re='错误号: '+@re
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
+char(13)+'错误源: '+@src
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
+char(13)+'错误描述: '+@desc
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
return(@re)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
2、 用法如下
用法如下,
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
print dbo.fgetscript('服务器名','用户名','密码','数据库名','表名或其它对象名')
3、 如果要获取库里所有对象的脚本,如如下方式
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @name varchar(250)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare #aa cursor for
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select name from sysobjects where xtype not in('S','PK','D','X','L')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
open #aa
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
fetch next from #aa into @name
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
while @@fetch_status=0
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
print dbo.fgetscript('onlytiancai','sa','sa','database',@name)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
fetch next from #aa into @name
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
close #aa
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
deallocate #aa
4、 声明,此函数是csdn邹建邹老大提供的
三、 分隔字符串
如果有一个用逗号分割开的字符串,比如说"a,b,c,d,1,2,3,4",如何用t-sql获取这个字符串有几个元素,获取第几个元素的值是多少呢?因为t-sql里没有split函数,也没有数组的概念,所以只能自己写几个函数了。
1、 获取元素个数的函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create function getstrarrlength (@str varchar(8000))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
returns int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @int_return int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @start int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @next int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @location int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @str =','+ @str +','
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @str=replace(@str,',,',',')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @start =1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @next =1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @location = charindex(',',@str,@start)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
while (@location <>0)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @start = @location +1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @location = charindex(',',@str,@start)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @next =@next +1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @int_return = @next-2
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
return @int_return
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
2、 获取指定索引的值的函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create function getstrofindex (@str varchar(8000),@index int =0)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
returns varchar(8000)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @str_return varchar(8000)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @start int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @next int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @location int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @start =1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @next =1 --如果习惯从0开始则select @next =0
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @location = charindex(',',@str,@start)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
while (@location <>0 and @index > @next )
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @start = @location +1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @location = charindex(',',@str,@start)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @next =@next +1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if @location =0 select @location =len(@str)+1 --如果是因为没有逗号退出,则认为逗号在字符串后
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @str_return = substring(@str,@start,@location -@start) --@start肯定是逗号之后的位置或者就是初始值1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
if (@index <> @next ) select @str_return = '' --如果二者不相等,则是因为逗号太少,或者@index小于@next的初始值1。
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
return @str_return
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
3、 测试
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SELECT [dbo].[getstrarrlength]('1,2,3,4,a,b,c,d')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SELECT [dbo].[getstrofindex]('1,2,3,4,a,b,c,d',5)
四、 一条语句执行跨越若干个数据库
我要在一条语句里操作不同的服务器上的不同的数据库里的不同的表,怎么办呢?
第一种方法:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from OPENDATASOURCE('SQLOLEDB','Data Source=远程ip;User ID=sa;Password=密码').库名.dbo.表名
第二种方法:
先使用联结服务器:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
EXEC sp_addlinkedserver '别名','','MSDASQL',NULL,NULL,'DRIVER={SQL Server};SERVER=远程名;UID=用户;PWD=密码;'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
exec sp_addlinkedsrvlogin @rmtsrvname='别名',@useself='false',@locallogin='sa',@rmtuser='sa',@rmtpassword='密码'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
GO
然后你就可以如下:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from 别名.库名.dbo.表名
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
insert 库名.dbo.表名 select * from 别名.库名.dbo.表名
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * into 库名.dbo.新表名 from 别名.库名.dbo.表名
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
五、 怎样获取一个表中所有的字段信息
蛙蛙推荐:怎样获取一个表中所有字段的信息
先创建一个视图
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
Create view fielddesc
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select o.name as table_name,c.name as field_name,t.name as type,c.length as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
length,c.isnullable as isnullable,convert(varchar(30),p.value) as desp
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
from syscolumns c
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
join systypes t on c.xtype = t.xusertype
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
join sysobjects o on o.id=c.id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
left join sysproperties p on p.smallid=c.colid and p.id=o.id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
where o.xtype='U'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
查询时:
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
Select * from fielddesc where table_name = '你的表名'
还有个更强的语句,是邹建写的,也写出来吧
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SELECT
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(case when a.colorder=1 then d.name else '' end) N'表名',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
a.colorder N'字段序号',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
a.name N'字段名',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(case when COLUMNPROPERTY( a.id,a.name,'IsIdentity')=1 then '√'else '' end) N'标识',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(case when (SELECT count(*)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
FROM sysobjects
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (name in
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(SELECT name
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
FROM sysindexes
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (id = a.id) AND (indid in
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(SELECT indid
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
FROM sysindexkeys
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (id = a.id) AND (colid in
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(SELECT colid
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
FROM syscolumns
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (id = a.id) AND (name = a.name))))))) AND
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(xtype = 'PK'))>0 then '√' else '' end) N'主键',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
b.name N'类型',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
a.length N'占用字节数',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
COLUMNPROPERTY(a.id,a.name,'PRECISION') as N'长度',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
isnull(COLUMNPROPERTY(a.id,a.name,'Scale'),0) as N'小数位数',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
(case when a.isnullable=1 then '√'else '' end) N'允许空',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
isnull(e.text,'') N'默认值',
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
isnull(g.[value],'') AS N'字段说明'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--into ##tx
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
FROM syscolumns a left join systypes b
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
on a.xtype=b.xusertype
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
inner join sysobjects d
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
on a.id=d.id and d.xtype='U' and d.name<>'dtproperties'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
left join syscomments e
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
on a.cdefault=e.id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
left join sysproperties g
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
on a.id=g.id AND a.colid = g.smallid
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
order by object_name(a.id),a.colorder
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
六、 时间格式转换问题
因为新开发的软件需要用一些旧软件生成的一些数据,在时间格式上不统一,只能手工转换,研究了一下午写了三条语句,以前没怎么用过convert函数和case语句,还有"+"操作符在不同上下文环境也会起到不同的作用,把我搞晕了要,不过现在看来是差不多弄好了。
1、把所有"70.07.06"这样的值变成"1970-07-06"
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
UPDATE lvshi
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SET shengri = '19' + REPLACE(shengri, '.', '-')
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (zhiyezheng = '139770070153')
2、在"1970-07-06"里提取"70","07","06"
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SELECT SUBSTRING(shengri, 3, 2) AS year, SUBSTRING(shengri, 6, 2) AS month,
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SUBSTRING(shengri, 9, 2) AS day
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
FROM lvshi
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (zhiyezheng = '139770070153')
3、把一个时间类型字段转换成"1970-07-06"
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
UPDATE lvshi
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
SET shenling = CONVERT(varchar(4), YEAR(shenling))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
+ '-' + CASE WHEN LEN(MONTH(shenling)) = 1 THEN '0' + CONVERT(varchar(2),
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
month(shenling)) ELSE CONVERT(varchar(2), month(shenling))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
END + '-' + CASE WHEN LEN(day(shenling)) = 1 THEN '0' + CONVERT(char(2),
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
day(shenling)) ELSE CONVERT(varchar(2), day(shenling)) END
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE (zhiyezheng = '139770070153')
七、 分区视图
分区视图是提高查询性能的一个很好的办法
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--看下面的示例
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--示例表
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create table tempdb.dbo.t_10(
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
id int primary key check(id between 1 and 10),name varchar(10))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create table pubs.dbo.t_20(
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
id int primary key check(id between 11 and 20),name varchar(10))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create table northwind.dbo.t_30(
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
id int primary key check(id between 21 and 30),name varchar(10))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--分区视图
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create view v_t
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from tempdb.dbo.t_10
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from pubs.dbo.t_20
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from northwind.dbo.t_30
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--插入数据
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
insert v_t select 1 ,'aa'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 2 ,'bb'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 11,'cc'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 12,'dd'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 21,'ee'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 22,'ff'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--更新数据
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
update v_t set name=name+'_更新' where right(id,1)=1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--删除测试
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
delete from v_t where right(id,1)=2
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--显示结果
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from v_t
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--删除测试
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
drop table northwind.dbo.t_30,pubs.dbo.t_20,tempdb.dbo.t_10
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
drop view v_t
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
八、 树型的实现
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--参考
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--树形数据查询示例
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--作者: 邹建
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--示例数据
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create table [tb]([id] int identity(1,1),[pid] int,name varchar(20))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
insert [tb] select 0,'中国'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 0,'美国'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 0,'加拿大'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 1,'北京'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 1,'上海'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 1,'江苏'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 6,'苏州'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 7,'常熟'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 6,'南京'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 6,'无锡'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 2,'纽约'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
union all select 2,'旧金山'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
go
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
--查询指定id的所有子
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
create function f_cid(
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
@id int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
)returns @re table([id] int,[level] int)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
as
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
declare @l int
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
set @l=0
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
insert @re select @id,@l
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
while @@rowcount>0
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
begin
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
set @l=@l+1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
insert @re select a.[id],@l
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
from [tb] a,@re b
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
where a.[pid]=b.[id] and b.[level]=@l-1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
end
九、 排序问题
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
CREATE TABLE [t] (
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
[id] [int] IDENTITY (1, 1) NOT NULL ,
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
[GUID] [uniqueidentifier] NULL
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
) ON [PRIMARY]
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
GO
下面这句执行5次
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
insert t values (newid())
查看执行结果
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t
1、 第一种
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
order by case id when 4 then 1
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
when 5 then 2
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
when 1 then 3
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
when 2 then 4
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
when 3 then 5 end
2、 第二种
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t order by (id+2)%6
3、 第三种
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t order by charindex(cast(id as varchar),'45123')
4、 第四种
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
WHERE id between 0 and 5
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
order by charindex(cast(id as varchar),'45123')
5、 第五种
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t order by case when id >3 then id-5 else id end
6、 第六种
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select * from t order by id / 4 desc,id asc
十、 一条语句删除一批记录
首先id列是int标识类类型,然后删除ID值为5,6,8,9,10,11的列,这里的cast函数不能用convert函数代替,而且转换的类型必须是varchar,而不能是char,否则就会执行出你不希望的结果,这里的"5,6,8,9,10,11"可以是你在页面上获取的一个chkboxlist构建成的值,然后用下面的一句就全部删
除了,比循环用多条语句高效吧应该。
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
delete from [fujian] where charindex(','+cast([id] as varchar)+',',','+'5,6,8,9,10,11,'+',')>0
还有一种就是
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
delete from table1 where id in(1,2,3,4
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwyUnZkQzVuYVdZPQ==)
)
十一、获取子表内的一列数据的组合字符串
下面这个函数获取05年已经注册了的某个所的律师,唯一一个参数就是事务所的名称,然后返回zhuce字段里包含05字样的所有律师。
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
CREATE FUNCTION fn_Get05LvshiNameBySuo (@p_suo Nvarchar(50))
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
RETURNS Nvarchar(2000)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
AS
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
BEGIN
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
DECLARE @LvshiNames varchar(2000), @name varchar(50)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
select @LvshiNames=''
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl2Ym14NWRHbGhibU5oYVM1amJtSnNiMmR6TG1OdmJTOUpiV0ZuWlhNdlQzVjBiR2x1YVc1blNXNWthV05oZEc5eWN5OU9iMjVsTG1kcFpnPT0=)
DECLARE lvshi_cursor CURSOR FOR
数据库里有1,2,3,4,5 共5条记录,要用一条sql语句让其排序,使它排列成4,5,1,2,3,怎么写?
--数据操作
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--数据定义
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--数据控制
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--事务控制
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--程序化SQL
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE --描述准备好的查询
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
---局部变量
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
---全局变量
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
---必须以@@开头
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--IF ELSE
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
declare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print 'x > y' --打印字符串'x > y'
else if @y > @z
print 'y > z'
else print 'z > y'
--CASE
use pangu
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*1.08
when job_level = ’2’ then e_wage*1.07
when job_level = ’3’ then e_wage*1.06
else e_wage*1.05
end
--WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x --打印变量x 的值
while @y < 3
begin
select @c = 100*@x + @y
print @c --打印变量c 的值
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end
--WAITFOR
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
waitfor delay ’01:02:03’
select * from employee
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--例 等到晚上11 点零8 分后才执行SELECT 语句
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
waitfor time ’23:08:00’
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
SELECT
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select *(列名) from table_name(表名) where column_name operator value ex宿主)
select * from stock_information where stockid = str(nid)
stockname = 'str_name'
stockname like '% find this %'
stockname like '[a-zA-Z]%' --------- ([]指定值的范围)
stockname like '[^F-M]%' --------- (^排除指定范围)
--------- 只能在使用like关键字的where子句中使用通配符)
or stockpath = 'stock_path'
or stocknumber < 1000
and stockindex = 24
not stocksex = 'man'
stocknumber between 20 and 100
stocknumber in(10,20,30)
order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
order by 1,2 --------- by列号
stockname = (select stockname from stock_information where stockid = 4)
--------- 子查询
--------- 除非能确保内层select只返回一个行的值
--------- 否则应在外层where子句中用一个in限定符
select distinct column_name form table_name
--------- distinct指定检索独有的列值,不重复
select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
select stockname , "stocknumber" = count(*) from table_name group by stockname
--------- group by 将表按行分组,指定列中有相同的值
having count(*) = 2 --------- having选定指定的组
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select *
from table1, table2
where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示
table1.id =* table2.id -------- 右外部连接
select stockname from table1
union [all] -------- union合并查询结果集,all-保留重复行
select stockname from table2
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
insert
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"
value (select Stockname , Stocknumber from Stock_table2)
-------value为select语句
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
update
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
update table_name set Stockname = "xxx" [where Stockid = 3]
Stockname = default
Stockname = null
Stocknumber = Stockname + 4
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
delete
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
delete from table_name where Stockid = 3
truncate table_name --------- 删除表中所有行,仍保持表的完整性
drop table table_name --------- 完全删除表
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
alter table -------- 修改数据库表结构
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
alter table database.owner.table_name add column_name char(2) null ..
sp_help table_name -------- 显示表已有特征
create table table_name (name char(20), age smallint, lname varchar(30))
insert into table_name select -------- 实现删除列的方法(创建新表)
alter table table_name drop constraint Stockname_default
--------- 删除Stockname的default约束
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
常用函数(function)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
转换函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
convert(数据类型,值,格式)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
统计函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
AVG --求平均值
COUNT --统计数目
MAX --求最大值
MIN --求最小值
SUM --求和
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
AVG
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
use pangu
select avg(e_wage) as dept_avgWage
from employee
group by dept_id
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
MAX
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--求工资最高的员工姓名
use pangu
select e_name
from employee
where e_wage =
(select max(e_wage)
from employee)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
STDEV()
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--STDEV()函数返回表达式中所有数据的标准差
--STDEVP()
--STDEVP()函数返回总体标准差
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
VAR()
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--VAR()函数返回表达式中所有值的统计变异数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
VARP()
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--VARP()函数返回总体变异数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
算术函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
三角函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
SIN(float_expression) --返回以弧度表示的角的正弦
COS(float_expression) --返回以弧度表示的角的余弦
TAN(float_expression) --返回以弧度表示的角的正切
COT(float_expression) --返回以弧度表示的角的余切
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
反三角函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
ACOS(float_expression) --返回余弦是FLOAT 值的以弧度表示的角
ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
ATAN2(float_expression1,float_expression2)
------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
DEGREES(numeric_expression)
------把弧度转换为角度返回与表达式相同的数据类型可为
------INTEGER/MONEY/REAL/FLOAT 类型
RADIANS(numeric_expression)
------把角度转换为弧度返回与表达式相同的数据类型可为
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
------INTEGER/MONEY/REAL/FLOAT 类型
EXP(float_expression) --返回表达式的指数值
LOG(float_expression) --返回表达式的自然对数值
LOG10(float_expression)--返回表达式的以10 为底的对数值
SQRT(float_expression) --返回表达式的平方根
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
取近似值函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
CEILING(numeric_expression)
-------返回>=表达式的最小整数返回的数据类型与表达式相同可为
-------INTEGER/MONEY/REAL/FLOAT 类型
FLOOR(numeric_expression)
-------返回<=表达式的最小整数返回的数据类型与表达式相同可为
-------INTEGER/MONEY/REAL/FLOAT 类型
ROUND(numeric_expression)
-------返回以integer_expression 为精度的四舍五入值返回的数据
-------类型与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
ABS(numeric_expression)
-------返回表达式的绝对值返回的数据类型与表达式相同可为
-------INTEGER/MONEY/REAL/FLOAT 类型
SIGN(numeric_expression)
-------测试参数的正负号返回0 零值1 正数或-1 负数返回的数据类型
-------与表达式相同可为INTEGER/MONEY/REAL/FLOAT 类型
PI() -------返回值为π 即3.1415926535897936
RAND([integer_expression])
-------用任选的[integer_expression]做种子值得出0-1 间的随机浮点数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
字符串函数
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
ASCII() ------函数返回字符表达式最左端字符的ASCII 码值
CHAR() ------函数用于将ASCII 码转换为字符
------如果没有输入0 ~ 255 之间的ASCII 码值CHAR 函数会返回一个NULL 值
LOWER() ------函数把字符串全部转换为小写
UPPER() ------函数把字符串全部转换为大写
STR() ------函数把数值型数据转换为字符型数据
LTRIM() ------函数把字符串头部的空格去掉
RTRIM() ------函数把字符串尾部的空格去掉
LEFT(),RIGHT(),SUBSTRING() --函数返回部分字符串
CHARINDEX(),PATINDEX() --函数返回字符串中某个指定的子串出现的开始位置
SOUNDEX() ------函数返回一个四位字符码
------SOUNDEX函数可用来查找声音相似的字符串但SOUNDEX函数对数字和汉字均只返回0 值
DIFFERENCE() ------函数返回由SOUNDEX 函数返回的两个字符表达式的值的差异
------0 两个SOUNDEX 函数返回值的第一个字符不同
------1 两个SOUNDEX 函数返回值的第一个字符相同
------2 两个SOUNDEX 函数返回值的第一二个字符相同
------3 两个SOUNDEX 函数返回值的第一二三个字符相同
------4 两个SOUNDEX 函数返回值完全相同同
QUOTENAME() ------函数返回被特定字符括起来的字符串
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--NULLIF 函数在expression1 与expression2 相等时返回NULL 值若不相等时则返回xpression1 的值
*******************Transact_SQL********************
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--语 句 功 能
--数据操作
SELECT --从数据库表中检索数据行和列
INSERT --向数据库表添加新数据行
DELETE --从数据库表中删除数据行
UPDATE --更新数据库表中的数据
--数据定义
CREATE TABLE --创建一个数据库表
DROP TABLE --从数据库中删除表
ALTER TABLE --修改数据库表结构
CREATE VIEW --创建一个视图
DROP VIEW --从数据库中删除视图
CREATE INDEX --为数据库表创建一个索引
DROP INDEX --从数据库中删除索引
CREATE PROCEDURE --创建一个存储过程
DROP PROCEDURE --从数据库中删除存储过程
CREATE TRIGGER --创建一个触发器
DROP TRIGGER --从数据库中删除触发器
CREATE SCHEMA --向数据库添加一个新模式
DROP SCHEMA --从数据库中删除一个模式
CREATE DOMAIN --创建一个数据值域
ALTER DOMAIN --改变域定义
DROP DOMAIN --从数据库中删除一个域
--数据控制
GRANT --授予用户访问权限
DENY --拒绝用户访问
REVOKE --解除用户访问权限
--事务控制
COMMIT --结束当前事务
ROLLBACK --中止当前事务
SET TRANSACTION --定义当前事务数据访问特征
--程序化SQL
DECLARE --为查询设定游标
EXPLAN --为查询描述数据访问计划
OPEN --检索查询结果打开一个游标
FETCH --检索一行查询结果
CLOSE --关闭游标
PREPARE --为动态执行准备SQL 语句
EXECUTE --动态地执行SQL 语句
DESCRIBE --描述准备好的查询
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
---局部变量
declare @id char(10)
--set @id = '10010001'
select @id = '10010001'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
---全局变量
---必须以@@开头
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--IF ELSE
declare @x int @y int @z int
select @x = 1 @y = 2 @z=3
if @x > @y
print 'x > y' --打印字符串'x > y'
else if @y > @z
print 'y > z'
else print 'z > y'
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--CASE
use pangu
update employee
set e_wage =
case
when job_level = ’1’ then e_wage*1.08
when job_level = ’2’ then e_wage*1.07
when job_level = ’3’ then e_wage*1.06
else e_wage*1.05
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--WHILE CONTINUE BREAK
declare @x int @y int @c int
select @x = 1 @y=1
while @x < 3
begin
print @x --打印变量x 的值
while @y < 3
begin
select @c = 100*@x + @y
print @c --打印变量c 的值
select @y = @y + 1
end
select @x = @x + 1
select @y = 1
end
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
--WAITFOR
--例 等待1 小时2 分零3 秒后才执行SELECT 语句
waitfor delay ’01:02:03’
select * from employee
--例 等到晚上11 点零8 分后才执行SELECT 语句
waitfor time ’23:08:00’
select * from employee
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
***SELECT***
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select *(列名) from table_name(表名) where column_name operator value
ex:(宿主)
select * from stock_information where stockid = str(nid)
stockname = 'str_name'
stockname like '% find this %'
stockname like '[a-zA-Z]%' --------- ([]指定值的范围)
stockname like '[^F-M]%' --------- (^排除指定范围)
--------- 只能在使用like关键字的where子句中使用通配符)
or stockpath = 'stock_path'
or stocknumber < 1000
and stockindex = 24
not stocksex = 'man'
stocknumber between 20 and 100
stocknumber in(10,20,30)
order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
order by 1,2 --------- by列号
stockname = (select stockname from stock_information where stockid = 4)
--------- 子查询
--------- 除非能确保内层select只返回一个行的值,
--------- 否则应在外层where子句中用一个in限定符
select distinct column_name form table_name --------- distinct指定检索独有的列值,不重复
select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
select stockname , "stocknumber" = count(*) from table_name group by stockname
--------- group by 将表按行分组,指定列中有相同的值
having count(*) = 2 --------- having选定指定的组
select *
from table1, table2
where table1.id *= table2.id -------- 左外部连接,table1中有的而table2中没有得以null表示
table1.id =* table2.id -------- 右外部连接
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
select stockname from table1
union [all] ----- union合并查询结果集,all-保留重复行
select stockname from table2
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
***insert***
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx")
value (select Stockname , Stocknumber from Stock_table2)---value为select语句
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
***update***
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
update table_name set Stockname = "xxx" [where Stockid = 3]
Stockname = default
Stockname = null
Stocknumber = Stockname + 4
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
***delete***
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
delete from table_name where Stockid = 3
truncate table_name ----------- 删除表中所有行,仍保持表的完整性
drop table table_name --------------- 完全删除表
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
***alter table*** --- 修改数据库表结构
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwwOTFkR3hwYm1sdVowbHVaR2xqWVhSdmNuTXZUbTl1WlM1bmFXWT0=)
alter table database.owner.table_name add column_name char(2) null
..
sp_help table_name ---- 显示表已有特征
create table table_name (name char(20), age smallint, lname varchar(30))
insert into table_name select ![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwyUnZkQzVuYVdZPQ==)
![[转]整理了一些t-sql技巧 [转]整理了一些t-sql技巧](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTkzZDNjdVkyNWliRzluY3k1amIyMHZTVzFoWjJWekwyUnZkQzVuYVdZPQ==)
----- 实现删除列的方法(创建新表)
alter table table_name drop constraint Stockname_default ---- 删除Stockname的default约束
![]()