mssql sqlserver 表锁定的五种方法分享


摘要:
下文讲述sqlserver中表锁定的五种方法分享,如下所示:
实验环境: sql server 2008 R2



方法1: TABLOCKX

SELECT * FROM tableName WITH (TABLOCKX)

此锁定方法,可限制其它会话无法查询、更新此表,知道此会话结束


方法2: XLOCK

SELECT * FROM tableName WITH (XLOCK)

此锁定方法,可限制其它会话无法查询、更新此表,知道此会话结束


方法3: UPDLOCK

SELECT * FROM tableName WITH (UPDLOCK)

在此锁表期间,其它会话可以查询此数据表,但无法对此数据表进行更新操作。


方法4: TABLOCK

SELECT * FROM tableName WITH (TABLOCK)

在此锁表期间,其它会话可以查询此数据表,但无法对此数据表进行更新操作。


方法5: HOLDLOCK

SELECT * FROM tableName WITH (HOLDLOCK)

在此锁表期间,其它会话可以查询此数据表,但无法对此数据表进行更新操作。

mssql sqlserver sql中空值同null空的区别说明


摘要:
下文讲述sqlserver数据中,空值同null空的区别说明,如下所示:
实验环境:sql server 2008 R2



空值简介:

在sqlserver中空值同常指空字符串,常应用于一些字符串中。
空字符串不会占用系统内存空间
count统计行数据时,空值会被作为有效行进行统计



null简介:

在sqlserver中null指在此列中未放入任何值,当用户新增数据行时,会自动插入一个null,
null值占用内存空间
count统计行数据时,null值不作为count行



空值及null值在数据库中的表现形式:

 CREATE TABLE #maomao (info VARCHAR(100))
  
---基础资料插入
INSERT INTO #maomao(info)
VALUES (NULL)
INSERT INTO #maomao
VALUES ('sqlserver')
INSERT INTO #maomao
VALUES ('')

---count函数应用
SELECT COUNT(info) FROM #maomao

---输出结果----
  2

go

truncate table  #maomao
drop       table #maomao 


空值同null区别如下:
1.内存占用方面不同
2.值内容不同
3.对count函数返回值不同
4.判断方式不同:
空值采用 变量=” 进行判断
null值进行 bool值计算时,只能采用 is null判断

mssql sqlserver sql关键字len和datalength区别简介说明


摘要:
下文讲述sqlserver中关键字len和datalength的区别,如下所示:
实验环境:sql server 2008 R2



len和datalength关键字的区别主要在于两个关键字的实际用途不一样


len关键字简介

len关键字功能:
返回表达式中的字符串个数(字符串后的空格不作为字符串个数返回)
len 关键字的返回值为一个int数值的数据
len 关键字用法举例:

    declare @t varchar(300)
    set @t ='maomao365.com';
    select len(@t)
   


len关键字注意事项:
1.当数据类型为varchar(max)、nvarchar(max) 或 varbinary(max)时,则返回一个bigint数值
其它字符串类型则返回int型
2.此关键字不能获取text、ntext类型中字符串的长度
3.此关键字获取字符串中的字符个数时,将自动剔除字符串末尾的空格个数



datalength关键字简介

datalength关键字功能:
返回所有表达式在数据库中所占用的字节数
datalength关键字返回值类型说明:
将返回一个int型的数据

    declare @t varchar(300)
     set @t ='maomao365.com';
     select datalength(@t)


datalength关键字注意事项:
对于可变长的数据类型,每次获取datalength的长度可能发生变化。

通过以上的学习,我们可以看出len的返回值和datalength的返回值含义完全不一致,
1.len关键字遇到汉字时,则返回1,但是datalength返回2
2.len关键字遇到char一些定长数据类型时,会自动剔除末尾的空格,返回实际的字符个数
datalength关键字则返回char数据类型实际占用的字节数