标签: sql-server

varchar和nvarchar有什么区别?

它只nvarchar支持多字节字符吗?如果是这种情况,除了存储问题之外,还有什么意义varchars吗?

sql-server varchar nvarchar

1300
推荐指数
19
解决办法
101万
查看次数

如何在SQL中使用JOIN执行UPDATE语句?

我需要使用其"父"表中的数据更新SQL Server 2005中的此表,如下所示:

拍卖

id (int)
udid (int)
assid (int)
Run Code Online (Sandbox Code Playgroud)

UD

id  (int)
assid  (int)
Run Code Online (Sandbox Code Playgroud)

sale.assid包含要更新的正确值ud.assid.

什么查询会这样做?我在考虑,join但我不确定是否可能.

sql t-sql sql-server sql-server-2005 sql-update

1262
推荐指数
14
解决办法
152万
查看次数

如何删除重复的行?

从相当大的SQL Server表中删除重复行的最佳方法是什么(即300,000多行)?

当然,由于RowID身份字段的存在,行不会是完美的重复.

MyTable的

RowID int not null identity(1,1) primary key,
Col1 varchar(20) not null,
Col2 varchar(2048) not null,
Col3 tinyint not null
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server duplicates

1254
推荐指数
31
解决办法
118万
查看次数

如何使用INER JOIN与SQL Server删除?

我想INNER JOINSQL Server 2008中删除使用.

但我得到这个错误:

消息156,级别15,状态1,行15
关键字"INNER"附近的语法不正确.

我的代码:

DELETE FROM WorkRecord2 
INNER JOIN Employee ON EmployeeRun=EmployeeNo
WHERE Company = '1' AND Date = '2013-05-06'
Run Code Online (Sandbox Code Playgroud)

sql sql-server inner-join sql-server-2008 sql-delete

1181
推荐指数
15
解决办法
127万
查看次数

获取数据库中所有表的大小

我继承了一个相当大的SQL Server数据库.考虑到它包含的数据,它似乎占用了比我预期更多的空间.

有没有一种简单的方法可以确定每个表占用的磁盘空间大小?

t-sql sql-server

1180
推荐指数
18
解决办法
123万
查看次数

更改列:null为非null

我有一个表有几个可以为空的整数列.由于多种原因,这是不可取的,所以我希望将所有空值更新为0,然后将这些列设置为NOT NULL.除了将空值更改为0,必须保留数据.

我正在寻找特定的SQL语法来将列(调用它ColumnA)改为" not null".假设数据已更新为不包含空值.

使用SQL Server 2000.

t-sql sql-server null alter-table alter-column

1177
推荐指数
8
解决办法
136万
查看次数

1090
推荐指数
30
解决办法
196万
查看次数

检查SQL Server中是否存在表

我希望这是关于如何使用SQL语句检查SQL Server 2000/2005中是否存在表的最终讨论.

当谷歌找到答案时,你会得到很多不同的答案.这样做是否有正式/后向和前向兼容的方式?

这有两种可行的方法.这两者中哪一个是标准/最佳方式?

第一种方式:

IF EXISTS (SELECT 1 
           FROM INFORMATION_SCHEMA.TABLES 
           WHERE TABLE_TYPE='BASE TABLE' 
           AND TABLE_NAME='mytablename') 
   SELECT 1 AS res ELSE SELECT 0 AS res;
Run Code Online (Sandbox Code Playgroud)

第二种方式:

IF OBJECT_ID (N'mytablename', N'U') IS NOT NULL 
   SELECT 1 AS res ELSE SELECT 0 AS res;
Run Code Online (Sandbox Code Playgroud)

MySQL提供简单

SHOW TABLES LIKE '%tablename%'; 
Run Code Online (Sandbox Code Playgroud)

声明.我正在寻找类似的东西.

t-sql sql-server sql-server-2005 sql-server-2000

1068
推荐指数
14
解决办法
116万
查看次数

获取插入行的标识的最佳方法是什么?

IDENTITY插入行的最佳方法是什么?

我知道@@IDENTITYIDENT_CURRENTSCOPE_IDENTITY,但不明白连接到每个利弊.

有人可以解释一下这些差异,以及何时应该使用它们?

sql t-sql sql-server

1056
推荐指数
10
解决办法
80万
查看次数

群集和非群集索引实际上意味着什么?

我对DB的了解有限,并且只使用DB作为应用程序员.我想知道ClusteredNon clustered indexes.我用谷歌搜索,发现的是:

聚簇索引是一种特殊类型的索引,它重新排序表中记录的物理存储方式.因此,表只能有一个聚簇索引.聚簇索引的叶节点包含数据页.非聚簇索引是一种特殊类型的索引,其中索引的逻辑顺序与磁盘上行的物理存储顺序不匹配.非聚簇索引的叶节点不包含数据页.相反,叶节点包含索引行.

我在SO中发现的是聚簇索引和非聚簇索引之间有什么区别?.

有人可以用简单的英语解释这个吗?

sql-server indexing performance clustered-index non-clustered-index

1041
推荐指数
10
解决办法
74万
查看次数