Tag: tsql

相当于MySQL枚举数据types的SQL Server?

SQL Server 2008有一个像MySQL的enum数据types?

一个LEFT OUTER JOIN如何能够返回比左表更多的logging?

我有一个非常基本的左外连接从左表中返回所有结果和一个更大的表中的一些额外的信息。 左表中包含4935条logging,当我左外部连接到一个额外的表logging数显着大。 据我所知,这是一个绝对的福音,一个LEFT OUTER JOIN将从左表中返回所有logging,右表中的匹配logging返回所有logging,任何不能匹配的行都返回null值,这是我的理解,它应该不可能返回比左边的表中更多的行,但是它们都是一样的! SQL查询如下: SELECT SUSP.Susp_Visits.SuspReason, SUSP.Susp_Visits.SiteID FROM SUSP.Susp_Visits LEFT OUTER JOIN DATA.Dim_Member ON SUSP.Susp_Visits.MemID = DATA.Dim_Member.MembershipNum 也许我在语法上犯了一个错误,或者我对LEFT OUTER JOIN的理解是不完整的,不pipe我在这里发疯的原因是什么,希望有人能解释这可能是怎么发生的? 后记 感谢grea的回答,我对LEFT OUTER JOINS的理解现在好多了,但是谁能提出这样一个查询可以被修改的方法,这样我只能得到左表中返回的logging数量呢? 这个查询纯粹是为了生成一个报告,重复的匹配只是混淆了事情。 /后记

在SQL中更改表的模式名称

我想在数据库中更改表Employees模式名称。 在当前表Employees数据库架构名称是dbo我想将其更改为exe 。 我该怎么做 ? 例: 从 dbo.Employees 至 exe.Employees 我试着用这个查询: ALTER SCHEMA exe TRANSFER dbo.Employees 但是这给了我一个错误: 无法更改模式“exe”,因为它不存在或您没有权限。 我错过了什么?

我可以使用多个“与”?

只是例如 With DependencedIncidents AS ( SELECT INC.[RecTime],INC.[SQL] AS [str] FROM ( SELECT A.[RecTime] As [RecTime],X.[SQL] As [SQL] FROM [EventView] AS A CROSS JOIN [Incident] AS X WHERE patindex('%' + A.[Col] + '%', X.[SQL]) > 0 ) AS INC ) With lalala AS ( SELECT INC.[RecTime],INC.[SQL] AS [str] FROM ( SELECT A.[RecTime] As [RecTime],X.[SQL] As [SQL] […]

如何检查表是否存在,如果它不存在sql server 2008中创build表

我正在写一个SQL Server 2008中的Stored procedure我需要检查数据库中是否存在一个table ,如果它不,那么我需要创build它。 我该怎么做?

更改一个varchar列的最大长度?

我试图将255个字符的varchar列的长度更新为500,而不会丢失内容。 我之前已经删除并重新创build了表,但是我从来没有接触到alter语句,这是我相信我需要用到的。 我在这里find了这个文档: ALTER TABLE(Transfact-SQL),但是我不能使它正面或者反面 。 到目前为止,我有以下(基本上没有什么不幸): alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 我如何处理这个? 有没有更好的文件,这个声明在那里(我做了一些示例语句的search,但空了)?

SQL Server 2005 T-SQL中的Base64编码

我想编写一个T-SQL查询,我将其编码为Base64string。 令人惊讶的是,我找不到用于执行Base64编码的任何本地T-SQL函数。 本地函数是否存在? 如果没有,那么在T-SQL中进行Base64编码的最好方法是什么?

索引中列的顺序有多重要?

我听说你应该在索引声明的开始部分放置最有select性的列。 例: CREATE NONCLUSTERED INDEX MyINDX on Table1 ( MostSelective, SecondMost, Least ) 首先,我说的是正确的? 如果是这样,我是否可以通过重新排列索引中列的顺序来看到性能上的巨大差异,还是更像是“做得好”的做法? 我问的原因是因为在通过DTA进行查询之后,build议我创build一个索引,它与现有索引中的几乎所有列都相同,只是顺序不同。 我正在考虑只是将缺less的列添加到现有的索引,并称它为好。 思考?

SQL“select不在子查询中”不返回任何结果

免责声明:我已经find了问题(我认为),但是我想把这个问题添加到堆栈溢出,因为我无法(很容易)在任何地方find它。 另外,有人可能比我有更好的答案。 我有一个数据库,其中一个表“通用”被其他几个表引用。 我想看看Common表中的哪些logging是孤立的(即没有任何其他表的引用)。 我运行这个查询: select * from Common where common_id not in (select common_id from Table1) and common_id not in (select common_id from Table2) 我知道有孤立的logging,但没有logging被返回。 为什么不? (如果有问题,这是SQL Server。)

SQL Server 2008:如何查询所有数据库大小?

我有MS SQL 2008 R2,500个数据库。 什么是查询所有数据库大小的最有效,最简单和“现代”的方式。 输出应该有列: 数据库名称 DataFilesSize LogFilesSize