
数据库
lansdmn
这个作者很懒,什么都没留下…
展开
-
SQL Server 索引结构及其使用
改善SQL语句 很多人不知道SQL语句在SQL SERVER中是如何执行的,他们担心自己所写的SQL语句会被SQL SERVER误解。比如:select * from table1 where name=zhangsan and tID > 10000和执行:select * from table1 where tID > 10000 and name=zhangsan转载 2008-09-18 18:30:00 · 251 阅读 · 0 评论 -
根据条件来更新表的所有记录T-Sql
update testing set MaxNumber=case when MaxNumber when MaxNumber>5 then 5 else 3 end; 更新一个表testing中的maxNumber字段,如果MaxNumber小于3则置为0,如果大于5则被置为5,其它都置为3原创 2010-04-09 09:40:00 · 479 阅读 · 0 评论 -
SQL游标原理和使用方法(转)
在数据库开发过程中,当你检索的数据只是一条记录时,你所编写的事务语句代码往往使用SELECT INSERT 语句。但是我们常常会遇到这样情况,即从某一结果集中逐一地读取一条记录。那么如何解决这种问题呢?游标为我们提供了一种极为优秀的解决方案。 1.1 游标和游标的优点 在数据库中,游标是一个十分重要的概念。游标提供了一种对从表中检索出的数据进行操作的灵活手段,就本质而言,游标实际上是一种能从包括多转载 2010-04-09 10:14:00 · 429 阅读 · 0 评论 -
删除具有约束constraint列的方法---T-sql
当删除一个表中的一个字段,恰好这个字段有默认值或是外键等约束的话,直接删除会报错Msg 5074, Level 16, State 1, Line 32The object DF__tmpTblFor__Incre__3D6081D7 is dependent on column ExampleColumn.Msg 4922, Level 16, State 9, Line 32ALT原创 2010-04-20 10:26:00 · 2110 阅读 · 0 评论 -
sql中获取字符串中的字母,数字,非数字函数
sql获取字母:CREATE FUNCTION dbo.F_Get_STR (@S VARCHAR(100))RETURNS VARCHAR(100)AS BEGIN WHILE PATINDEX(%[^a-z]%,@S)>0 BEGIN set @s=stuff(@s,patindex(%[^a-z]%,@s),1,)转载 2010-02-25 16:56:00 · 4831 阅读 · 1 评论 -
过滤无效字符串的方法 ----------T-SQL
1.第一个方法 CREATE FUNCTION [dbo].[RemoveNonAlphaCharacters](@Temp VARCHAR(1000)) RETURNS VARCHAR(1000) AS BEGIN WHILE PATINDEX(%[^a-z]%, @Temp) > 0 SET @Temp = STU转载 2009-09-28 09:53:00 · 663 阅读 · 0 评论 -
SQLServerVarchar类型字段中文乱码问题的解决
解决方法有以下几点:①.改Varchar类型为nvarchar类型,并且在插入该字段的字符串值时,在字符串前面加一个大写的N,比如N....即可。②.如果不能使用nvarchar类型,那么在建表时指明某个字段的语言,方法:COLLATE Chinese_PRC_CS_AS_WS,例如:create table test(a varchar(255) COLLATE Chine转载 2009-09-11 11:31:00 · 1999 阅读 · 0 评论 -
Sql----DateTime的边界值
1/01/1753 12:00:00 AM~~~~~12/31/9999 11:59:59 一般向数据库里插入日期时,如果为空,或进行日期计算时,一定要检查最终的日期是否在DataTime类型的边界值的范围内, 如果不在范围内将会出现数据溢出错误。原创 2009-04-29 17:43:00 · 671 阅读 · 0 评论 -
存储过程————SQL拆分字符
--declare @RoleList varchar(1000)declare @RoleID int--set @RoleList=23,22,35,40,declare @EndIndex intdeclare @StartIndex intset @StartIndex=1if right(@RoleList,1)begin set @RoleList=@RoleList+,end原创 2009-04-21 11:12:00 · 359 阅读 · 0 评论 -
存储过程————执行拼接的SQL语句的字符串
declare @tableName nvarchar(50)set @tableName=case when @IDType=CustomerID then Customer when @IDType=EventRegistrationID then EventRegistration when @IDType=CustomerServiceID原创 2009-04-21 13:22:00 · 3854 阅读 · 0 评论 -
存储过程————等同于switch的功能语句
declare @tableName nvarchar(50)set @tableName=case when @IDType=CustomerID then Customer when @IDType=EventRegistrationID then EventRegistration when @IDType=CustomerServiceID t原创 2009-04-21 11:15:00 · 4175 阅读 · 0 评论 -
存储过程构造数据表
ALTER PROCEDURE CustomerService_SelectTable_SearchCondition_OfficeUsage( @CustomerAccountID int = null, @Status varchar(50) = null, @ServiceType varchar(50) = null, @SpecifiedServiceID int = null, @Lo原创 2009-03-20 14:36:00 · 444 阅读 · 0 评论 -
如何实现查询优化
建立索引 (一)深入浅出理解索引结构 实际上,您可以把索引理解为一种特殊的目录。微软的SQL SERVER提供了两种索引:聚集索引(clustered index,也称聚类索引、簇集索引)和非聚集索引(nonclustered index,也称非聚类索引、非簇集索引)。下面,我们举例来说明一下聚集索引和非聚集索引的区别: 其实,我们的汉语字典的正文本身就是一个聚集索引。比如,我转载 2008-10-16 18:32:00 · 412 阅读 · 0 评论 -
over语句的使用--sql
RANK ( ) OVER ( [query_partition_clause] order_by_clause )DENSE_RANK ( ) OVER ( [query_partition_clause] order_by_clause )可实现按指定的字段分组排序,对于相同分组字段的结果集进行排序,其中PARTITION BY 为分组字段,ORDER BY 指定排序字段over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用转载 2010-07-07 16:01:00 · 1978 阅读 · 0 评论