文章分类 - T-SQL 知识积累
摘要:出处:http://www.cnblogs.com/riasky/p/3361044.htmlsql server:sql server solution1:select top10 * from table where id not in(select top 30 id from t order...
阅读全文
摘要:我们在数据库操作的时候,记录是按照行存储的,但是要是按列的方式存储的话,我们在反转成行的时候就会有点麻烦,在SqlServer2000的时候,我们可以用Case语句,虽然可以实现,但是如果字段比较多的话,sql语句的好长,维护起来也比较麻烦,幸好在SqlServer2005版本之上(含2005),我...
阅读全文
摘要:用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 select * from people where peopleId in (select peopleId fr...
阅读全文
摘要:SQL UNIQUE 约束UNIQUE 约束唯一标识数据库表中的每条记录。UNIQUE 和 PRIMARY KEY 约束均为列或列集合提供了唯一性的保证。PRIMARY KEY 拥有自动定义的 UNIQUE 约束。请注意,每个表可以有多个 UNIQUE 约束,但是每个表只能有一个 PRIMARY K...
阅读全文
摘要:1、作用删除指定长度的字符,并在指定的起点处插入另一组字符。2、语法STUFF ( character_expression , start , length ,character_expression )3、示例以下示例在第一个字符串 abcdef 中删除从第 2 个位置(字符 b)开始的三个字符...
阅读全文
摘要:PATINDEX返回指定表达式中某模式第一次出现的起始位置;如果在全部有效的文本和字符数据类型中没有找到该模式,则返回零。语法PATINDEX ( '%pattern%' , expression )参数pattern一个字符串。可以使用通配符,但 pattern 之前和之后必须有 % 字符(搜索...
阅读全文
摘要:--创建测试数据库CREATE DATABASE mytest;GOUSE mytest;GO--创建测试表CREATE TABLE Users( ID INT IDENTITY(1,1), UserInfo XML)/*****************插入单节点************...
阅读全文
摘要:sql获取数字:只是将字符串中所有的数字组织在一起,比如“test12tt456”,返回的是12456create function dbo.F_Get_Number (@S varchar(100))returns intAS begin while PATINDEX('%[^0-9]%',...
阅读全文
摘要:我们在create table时经常会碰到这样的语句,例如:password nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:首先,collate是一个子句,可应用于数据库定义或列定义以定义排序规则,或应用于字符串表达式以应用排序规则投影。语法是collate collation_namecollation_name ::={windows_collation_name}|{sql_collation_name}参数collate_name是应用于表达式、列定义或数据库定义的排序规则的名称。collation_name
阅读全文
摘要:本文适用的环境数据库管理系统SQL Sever2000前言 在编写SQL程序是我们有可能遇到这样的问题,参数是动态数量的标识列表(比如我们要处理一批有限的人员的信息,我们传递的参数就可以这样表示人员的标识一(主键),人员表识二,人员标识三。。。。。。),在这个参数中标识数量是动态的可能是五个,也可能是六个。在需要根据这个标识列表去查询人员并返回人员的信息时,我们可能很自然的想到这样的写法Declare@ParamIDListVarchar(500)Set@ParamIDList=’张三,李四,王五’Select姓名,性别,年龄FromPersonswhereNameIn(@ParamIDLis
阅读全文
摘要:通常情况下,不能向 SQL Server 自增字段插入值,如果非要这么干的话,SQL Server 就会好不客气地给你个错误警告:Server:Msg544,Level16,State1,Line1 Cannotinsertexplicitvalueforidentitycolumnintable't'whenidentity_insertissettoOFF.这个错误消息提示我们,如果向 SQL Server 自增字段插入值,需要设置 identity_insert 选项为 on。setidentity_inserton看具体的一个例子:createtabledbo.t (
阅读全文
摘要:有关datediff的相应信息,见如下:DATEDIFF (datepart ,startdate ,enddate )datepart是指定所跨边界类型的 startdate 和 enddate 的一部分。下表列出了所有有效的 datepart 参数。用户定义的变量等效项是无效的。datepart缩写yearyy, yyyyquarterqq, qmonthmm, mdayofyeardy, ydaydd, dweekwk, wwhourhhminutemi, nsecondss, smillisecondmsmicrosecondmcsnanosecondnsstartdate是一个表达式
阅读全文
摘要:1.按姓氏笔画排序:Select*FromTableNameOrder ByCustomerNameCollateChinese_PRC_Stroke_ci_as2.数据库加密:selectencrypt('原始密码')selectpwdencrypt('原始密码')selectpwdcompare('原始密码','加密后密码') = 1--相同;否则不相同3.取回表中字段:declare@list varchar(1000),@sql nvarchar(1000)select@list=@list+','+b.n
阅读全文
摘要:SQL Server获取指定行(如第二行)的数据--SQL Server获取指定行(如第二行)的数据----法一(对象法)--select * from(select * , number = row_number() over(orderby Grade desc) from Students) www.2cto.com m where number = 2--法二(排除法)---select top 1 * from Studentswhere Grade not in(select top 1 Grade from Students)tsql的循环whileDECLARE @ii IN.
阅读全文

浙公网安备 33010602011771号