Questions tagged «tsql»

T-SQL(事务结构查询语言)是Sybase ASE和Microsoft SQL Server支持的SQL功能的扩展。请勿将此标签用于MySQL,PostgreSql,Oracle(Pl / SQL)相关查询。请注意,使用LINQ编写的SQL代码也不属于该标签的一部分。该标记是专门为使用Microsoft SQL Server进行高级SQL编程而创建的。

19
计算多列的DISTINCT
有没有更好的方法来执行这样的查询: SELECT COUNT(*) FROM (SELECT DISTINCT DocumentId, DocumentSessionId FROM DocumentOutputItems) AS internalQuery 我需要计算该表中不同项目的数量,但是不同项目超过两列。 我的查询工作正常,但我想知道是否可以仅使用一个查询(而不使用子查询)获得最终结果



17
如何使用TSQL截断数据库中的所有表?
我有一个数据库测试环境,希望在测试周期开始时重新加载新数据。我对重建整个数据库不感兴趣-只是简单地“重置”数据。 使用TSQL从所有表中删除所有数据的最佳方法是什么?是否存在可以使用的系统存储过程,视图等?我不想为每个表手动创建和维护截断表语句-我希望它是动态的。
204 sql-server  tsql 

14
SQL:WHERE子句中的IF子句
是否可以在MS SQL 的WHERE子句中使用IF子句? 例: WHERE IF IsNumeric(@OrderNumber) = 1 OrderNumber = @OrderNumber ELSE OrderNumber LIKE '%' + @OrderNumber + '%'
203 sql  sql-server  tsql 

7
SQL Server动态PIVOT查询?
我的任务是提出一种翻译以下数据的方法: date category amount 1/1/2012 ABC 1000.00 2/1/2012 DEF 500.00 2/1/2012 GHI 800.00 2/10/2012 DEF 700.00 3/1/2012 ABC 1100.00 分为以下内容: date ABC DEF GHI 1/1/2012 1000.00 2/1/2012 500.00 2/1/2012 800.00 2/10/2012 700.00 3/1/2012 1100.00 空白点可以是NULL或空白,可以,并且类别必须是动态的。对此的另一个可能的警告是,我们将以有限的容量运行查询,这意味着临时表已用完。我尝试研究并着陆PIVOT,但尽管我已尽力找出但在我真正不了解之前从未使用过它。谁能指出我正确的方向?
202 sql  sql-server  tsql  pivot 

8
如何在SQL Server中删除外键?
我通过以下方式创建了外键(在SQL Server中): alter table company add CountryID varchar(3); alter table company add constraint Company_CountryID_FK foreign key(CountryID) references Country; 然后,我运行以下查询: alter table company drop column CountryID; 我得到这个错误: 消息5074,级别16,状态4,第2行 对象'Company_CountryID_FK'依赖于列'CountryID'。 Msg 4922,第16级,状态9,第2行 ALTER TABLE DROP COLUMN CountryID失败,因为一个或多个对象访问此列 我已经尝试过了,但是似乎没有用: alter table company drop foreign key Company_CountryID_FK; alter table company drop column CountryID; 我需要怎么做才能删除CountryID色谱柱? …
201 sql-server  tsql 

9
多语句表值函数与内联表值函数
举例说明,以防万一: 内联表值 CREATE FUNCTION MyNS.GetUnshippedOrders() RETURNS TABLE AS RETURN SELECT a.SaleId, a.CustomerID, b.Qty FROM Sales.Sales a INNER JOIN Sales.SaleDetail b ON a.SaleId = b.SaleId INNER JOIN Production.Product c ON b.ProductID = c.ProductID WHERE a.ShipDate IS NULL GO 多语句表值 CREATE FUNCTION MyNS.GetLastShipped(@CustomerID INT) RETURNS @CustomerOrder TABLE (SaleOrderID INT NOT NULL, CustomerID …

2
我可以使用多个“ with”吗?
例如: 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 …

15
如何在T-SQL中用逗号格式化数字?
我正在运行一些管理查询并sp_spaceused在SQL Server 2008中编译结果,以查看数据库中某些表的数据/索引空间比率。当然,结果中出现了各种各样的数字,我的眼睛开始蒙上一层阴影。如果我可以用逗号将所有这些数字格式化(987654321变为987,654,321),那将真的很方便。有趣的是,在我多年来一直使用SQL Server的过程中,这个问题从未出现过,因为大多数时候我都会在表示层进行格式化,但是在这种情况下,SSMS中的T-SQL结果就是表示。 我已经考虑过创建一个简单的CLR UDF来解决这个问题,但是看起来这应该在普通的旧T-SQL中是可行的。因此,我将在这里提出一个问题-您如何在香草T-SQL中进行数字格式化?
198 sql-server  tsql 


14
如何在不知道其名称的情况下删除SQL默认约束?
在Microsoft SQL Server中,我知道用于检查列是否存在默认约束并删除默认约束的查询是: IF EXISTS(SELECT * FROM sysconstraints WHERE id=OBJECT_ID('SomeTable') AND COL_NAME(id,colid)='ColName' AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1) ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName 但是由于数据库的早期版本中有错字,约束的名称可能是DF_SomeTable_ColName或DF_SmoeTable_ColName。 如何删除没有任何SQL错误的默认约束?默认约束名称未显示在INFORMATION_SCHEMA表中,这使操作变得有些棘手。 因此,类似于“删除此表/列中的默认约束”或“删除DF_SmoeTable_ColName”之类的东西,但是如果找不到它,则不要给出任何错误。
196 sql  sql-server  tsql 

18
截断(不舍入)SQL Server中的小数位
我试图确定截断或删除SQL中多余的小数位而不舍入的最佳方法。例如: declare @value decimal(18,2) set @value = 123.456 这将自动舍@value入为123.46,这在大多数情况下很好。但是,对于这个项目,我不需要。有没有一种简单的方法可以截断我不需要的小数?我知道我可以使用该left()函数并将其转换回十进制。还有其他方法吗?
194 sql  sql-server  tsql  rounding 



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.