-
sqlserver多表关联时在where语句中慎用trim()方法
类似如下:selectA.key,B.key,C.keyfromA,B,Cwheretrim(A.key)=trim(B.fk)andtrim(A.col)=trim(C.pk)。在主表A(200多条记录)关联附表B(4万多条记录)时用了1秒钟时间,该值在不同机器执行可能有所差异,但比不加trim速度稍微慢一些,但是不是特别明显...
数据库操作教程 2022-09-23 16:55:42 -
sql2005HashBytes加密函数
有关函数HashBytes请参考:http://msdn.microsoft.com/en-us/library/ms174415.aspx 在做项目的时候,在sql中使用了hashbytes函数,运用md5算法去加密一密码。代码如下 DECLARE@pswnvarchar(20) SET@psw='admin' SELECThashbytes('md5',@psw) 输出结果:0x19A2854144B63A8F7617A6F225019B12前面的0x是16进制的意思...
数据库操作教程 2022-09-23 16:55:22 -
selectinto和insertintoselect两种表复制语句
第一句:SELECT*INTO[ToTable]FROM[FromTable]第二句:INSERTINTO[ToTable]([fild_One],[fild_Two])SELECT[fild_One],8FROM[FromTable]以上两句都是将[FromTable]的数据插入到[ToTable],但两句又有区别的:第一句(SELECTINTOFROM)要求目标表[ToTable]不存在,因为在插入时会自动创建。第二句(INSERTINTOSELECTFROM)要求目标表[ToTable]存在,由于目标表已经存在,所以我们除了插入源表[FromTable]的字段外,还可以插入常量,如例中的:8...
数据库操作教程 2022-09-23 16:55:15 -
Excel导入Sqlserver数据库脚本
受以前旧同事之托,在博客里发这段脚本:execsp_configure'showadvancedoptions',1reconfigureexecsp_configure'AdHocDistributedQueries',1reconfigureSELECT*INTOtmp_assetFROMOPENROWSET('Microsoft.Jet...
数据库操作教程 2022-09-23 16:54:58 -
DBCCCHECKIDENT重置数据库标识列从某一数值开始
DBCCCHECKIDENT(N'dbo.Orders',RESEED,0);DBCCCHECKIDENT语法DBCCCHECKIDENT(table_name[,{NORESEED|{RESEED[,new_reseed_value]}}])[WITHNO_INFOMSGS]参数table_name是要对其当前标识值进行检查的表名。指定的表必须包含标识列...
数据库操作教程 2022-09-23 16:54:38 -
sql查询结果合并unionall用法_数据库技巧
复制代码代码如下:--合并重复行select*fromAunionselect*fromB--不合并重复行select*fromAunionallselect*fromB按某个字段排序--合并重复行select*from(select*fromAunionselect*fromB)ASTorderby字段名--不合并重复行select*from(select*fromAunionallselect*fromB)ASTorderby字段名//sqlserver版Select*From(selecttop2id,adddate...
数据库操作教程 2022-09-23 16:54:35 -
SQLSubstring提取部分字符串
功能:返回字符、二进制、文本或图像表达式的一部分语法:SUBSTRING(expression,start,length) SQL中的substring函数是用来抓出一个栏位资料中的其中一部分。这个函数的名称在不同的资料库中不完全一样:参数:expression字符串、二进制字符串、文本、图像、列或包含列的表达式...
数据库操作教程 2022-09-23 16:54:35 -
sql语句中的NULL值
今天写了这样的代码复制代码代码如下: DECLARE@atrNVARCHAR(20) SET@atr=NULL IF(@atr=NULL) BEGIN PRINT1 END 原本是想打印出1的。但是没有...
数据库操作教程 2022-09-23 16:54:23 -
drop,truncate与delete的区别
注意:这里说的delete是指不带where子句的delete语句相同点truncate和不带where子句的delete,以及drop都会删除表内的数据不同点:1.truncate和delete只删除数据不删除表的结构(定义)drop语句将删除表的结构被依赖的约束(constrain),触发器(trigger),索引(index);依赖于该表的存储过程/函数将保留,但是变为invalid状态.2.delete语句是dml,这个操作会放到rollbacksegement中,事务提交之后才生效;如果有相应的trigger,执行的时候将被触发.truncate,drop是ddl,操作立即生效,原数据不放到rollbacksegment中,不能回滚.操作不触发trigger.3.delete语句不影响表所占用的extent,高水线(highwatermark)保持原位置不动显然drop语句将表所占用的空间全部释放truncate语句缺省情况下将空间释放到minextents个extent,除非使用reusestorage;truncate会将高水线复位(回到最开始).4.速度,一般来说:dr...
数据库操作教程 2022-09-23 16:54:06 -
sqlserversubstring函数使用方法小结
在操作sqlserver时候用到了substring函数SUBSTRING(expression,start,length)参数expression字符串、二进制字符串、文本、图像、列或包含列的表达式。请勿使用包含聚合函数的表达式...
数据库操作教程 2022-09-23 16:54:03 -
SQLSERVER中datetime和smalldatetime类型分析说明
datetime和smalldatetime代表日期和一天内的时间的日期和时间数据类型。MicrosoftSQLServer用两个4字节的整数内部存储datetime数据类型的值...
数据库操作教程 2022-09-23 16:53:58