Questions tagged «sql-server»

Microsoft SQL Server是一个关系数据库管理系统(RDBMS)。将此标签用于所有SQL Server版本,包括Compact,Express,Azure,Fast-track,APS(以前称为PDW)和Azure SQL DW。请勿将此标签用于其他类型的DBMS(MySQL,PostgreSQL,Oracle等)。除非该标签与数据库直接相关,否则请勿将其用于软件和移动开发问题。

4
如何从SQL Server中的表查询Xml值和属性?
我有一个包含一Xml列的表: SELECT * FROM Sqm xml行数据的示例为: <Sqm version="1.2"> <Metrics> <Metric id="TransactionCleanupThread.RecordUsedTransactionShift" type="timer" unit="µs" count="1" sum="21490" average="21490" minValue="73701" maxValue="73701" >73701</Metric> <Metric id="TransactionCleanupThread.RefundOldTrans" type="timer" unit="µs" count="1" sum="184487" average="184487" minValue="632704" maxValue="632704" >632704</Metric> <Metric id="Database.CreateConnection_SaveContextUserGUID" type="timer" unit="µs" count="2" sum="7562" average="3781" minValue="12928" maxValue="13006" standardDeviation="16" >12967</Metric> <Metric id="Global.CurrentUser" type="timer" unit="µs" count="6" sum="4022464" average="670411" minValue="15" maxValue="13794345" standardDeviation="1642047">2299194</Metric> …

4
可以使用DISTINCT进行分区函数COUNT()的覆盖
我正在尝试编写以下内容,以便获得不同的NumUser的总运行量,如下所示: NumUsers = COUNT(DISTINCT [UserAccountKey]) OVER (PARTITION BY [Mth]) Management Studio对此不太满意。当我删除DISTINCT关键字时,错误消失了,但是不会有明显的区别。 DISTINCT在分区功能中似乎不可行。我该如何找到不同的计数?我是否使用更传统的方法,例如相关子查询? 进一步研究一下,也许这些OVER功能与Oracle的工作方式不同,无法使用它们SQL-Server来计算运行总计。 我在SQLfiddle上添加了一个实时示例,在该示例中,我尝试使用分区函数来计算运行总计。



17
如何在Microsoft SQL Server中仅使用日期查询DATETIME字段?
我有一个表TEST和一个DATETIME字段,像这样: ID NAME DATE 1 TESTING 2014-03-19 20:05:20.000 我需要什么查询才能返回此行以及每条日期为03/19/2014的行,而不管时间是什么时候。我尝试使用 select * from test where date = '03/19/2014'; 但是它不返回任何行。我发现使它起作用的唯一方法是还提供日期的时间部分: select * from test where date = '03/19/2014 20:03:02.000';


4
为什么当xact_abort打开时,Sql Server在raiserror之后仍继续执行?
我只是对TSQL中的某些东西感到惊讶。我以为如果打开xact_abort,调用类似 raiserror('Something bad happened', 16, 1); 将停止执行存储过程(或任何批处理)。 但是我的ADO.NET错误消息恰恰相反。在异常消息中我同时收到了raiserror错误消息,以及在此之后发生的下一件事。 这是我的解决方法(无论如何,这是我的习惯),但似乎没有必要: if @somethingBadHappened begin; raiserror('Something bad happened', 16, 1); return; end; 文档说: 当SET XACT_ABORT为ON时,如果Transact-SQL语句引发运行时错误,则整个事务将终止并回滚。 这是否意味着我必须使用显式事务?
87 sql  sql-server  tsql 


5
在大型表上增加VARCHAR列的大小时,可能会出现问题吗?
我正在使用SQL Server 2008,并且需要在具有约50万行的表上将VARCHAR字段变大,从(200到1200)。我需要知道的是是否有未考虑的问题。 我将使用以下TSQL语句: ALTER TABLE MyTable ALTER COLUMN [MyColumn] VARCHAR(1200) 我已经在数据副本上进行了尝试,并且该语句没有我看到的不良影响。 那么这样做有没有我可能没有考虑过的问题呢? 顺便说一句,该列未编制索引。

7
找不到存储过程'dbo.aspnet_CheckSchemaVersion'
我正在使用WinHost.com托管我的网站。SQL数据库/成员资格系统可以在我的本地计算机上完美运行,但是当上载到服务器时,它将无法正常工作。我正确地遵循了所有步骤。我已经联系了我的服务支持部门,但是已经超过2周了,没有回复。 当我尝试在我的站点的会员页面上登录或注册新用户时,我一直收到此错误。 Server Error in '/' Application. -------------------------------------------------------------------------------- Could not find stored procedure 'dbo.aspnet_CheckSchemaVersion'. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.Data.SqlClient.SqlException: Could not …



2
SQL Server IIF与案例
最近,我开始了解IIFSQL Server 2012中功能的可用性。我始终CASE在查询中使用嵌套。我想知道该IIF语句的确切目的,以及我们何时应该在查询中首选使用IIFoverCASE语句。我主要CASE在查询中使用嵌套。 感谢您的所有投入。


16
SQL-从varchar数据类型到datetime数据类型的转换导致值超出范围
运行SQL到我的数据类型值从转换的时候,我一直得到以下错误varchar来datetime。 消息242,级别16,状态3,行1将varchar数据类型转换为datetime数据类型导致值超出范围。 我检查了数据,看不到任何奇怪的东西:进行了以下检查,所有结果均未返回 SELECT [Date] from table where [DATe] is null SELECT [Date] from table where [DATe] = '' SELECT [Date] from table where LEN([date])> 10 SELECT [Date] from table where LEN([date])< 10 SELECT top 100 [Date] , SUBSTRING([date],4,2) from [table where convert(int, SUBSTRING([date],4,2)) < 1 or convert(int, SUBSTRING([date],4,2)) > …

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.