Tag: sql server

有没有办法循环通过TSQL中的表variables,而不使用游标?

比方说,我有以下简单的表格variables: declare @databases table ( DatabaseID int, Name varchar(15), Server varchar(15) ) — insert a bunch rows into @databases 如果我想遍历行,是声明和使用游标我唯一的select? 有另一种方法吗?

如何从TIMESTAMP列获取date/时间信息?

似乎TIMESTAMP信息是以某种方式encryption的,其中date/时间数据以某种方式用二进制编码。 我只想发现今天修改的所有行。

在asp.net中从数据库中检索图像

如何使用C#从asp.net中的sql数据库检索图像。 我想从数据库中检索图像文件,然后在标签中显示图像。 我尝试这个代码,但它不工作 ASPX <asp:Image ID="Image1" runat="server" ImageUrl="" Height="150px" Width="165px" /> 后面的代码 Byte[] bytes = (Byte[])ds.Tables[0].Rows[0]["image"]; Response.Buffer = true; Response.Charset = ""; Response.Cache.SetCacheability(HttpCacheability.NoCache); Response.ContentType = "image/jpg"; Response.BinaryWrite(bytes); Response.Flush(); Response.End(); 如何给这个图片的ImageUrl=""链接?

在SQL Server中selectN行

以下查询将在10行中返回1-10。 DECLARE @Range AS INT = 10 ;WITH CTE AS( SELECT TOP (@Range) Duration = ROW_NUMBER() OVER(ORDER BY OBJECT_ID) FROM sys.all_columns ORDER BY [Object_id] ) SELECT Duration from CTE 但是当我将@Range设置为10000时,它返回7374行。 为什么这个查询不能返回超过7374行。 UPDATE 我刚刚find另一种方法来达到我的要求如下 DECLARE @start INT = 1; DECLARE @end INT = 10; WITH numbers AS ( SELECT @start AS number UNION ALL SELECT number […]

如何在一个实例上的所有数据库上运行相同的查询?

在sql server 2008 r2实例中,我有(用于testing目的)具有相同模式(=基本上相同的表和列)的许多dbs。 我想要一个类似的查询 SELECT COUNT(*) FROM CUSTOMERS 在实例上的所有DB上。 我想结果2列: 1 – 数据库名称 2 – COUNT(*)的值 例: DBName // COUNT (*) TestDB1 // 4 MyDB // 5 etc… 注意:我假定CUSTOMERS表存在于所有dbs(除master )之外。

WHERE子句与ON时使用JOIN

假设我有以下T-SQL代码: SELECT * FROM Foo f INNER JOIN Bar b ON b.BarId = f.BarId; WHERE b.IsApproved = 1; 下面的一个也返回相同的一组行: SELECT * FROM Foo f INNER JOIN Bar b ON (b.IsApproved = 1) AND (b.BarId = f.BarId); 这可能不是最好的例子,但这两者之间有什么performance差异?

在sql中获取两个值的最小值

我有两个variables,一个叫做PaidThisMonth ,另一个叫OwedPast 。 它们都是SQL中一些子查询的结果。 我怎样才能select两个中较小的一个,并将其作为标题为PaidForPast的值PaidForPast ? MIN函数适用于列,而不是variables。

如何为2000和2005年的数据库创buildSQL Server 2008的链接服务器

目前我正在使用SQL Server 2000,2005&2008,我的要求是,SQL Server 2000&2005中可用的数据库将在2008年使用链接服务器。 假设我在SQL Server 2000中有一个叫做LIVE_2000的数据库,而在SQL Server 2005中它叫做LIVE_2005 ,有人可以帮我创buildLIVE_2000和LIVE_2005到SQL Server 2008的链接服务器吗? 第一件事情是甚至可能的? 预先感谢…`

SQL查询将列数据拆分成行

我有SQL表中,我有2个字段为No和declaration Code Declaration 123 a1-2 nos, a2- 230 nos, a3 – 5nos 我需要显示该代码的声明为: Code Declaration 123 a1 – 2nos 123 a2 – 230nos 123 a3 – 5nos 我需要将列数据拆分为该代码的行。

在C#中使用存储过程输出参数

我有一个问题,从Sql Server存储过程返回一个输出参数到一个C#variables。 我已经阅读了其他文章,不仅在这里,而且在其他网站上,我不能得到它的工作。 这是我目前有的。 目前我只是试图打印回来的价值。 以下代码返回一个空值。 我试图返回的是主键。 我曾尝试使用@@IDENTITY和SCOPE_INDENTITY() (即SET @NewId = SCOPE_IDENTITY() )。 存储过程: CREATE PROCEDURE usp_InsertContract @ContractNumber varchar(7), @NewId int OUTPUT AS BEGIN INSERT into [dbo].[Contracts] (ContractNumber) VALUES (@ContractNumber) Select @NewId = Id From [dbo].[Contracts] where ContractNumber = @ContractNumber END 打开数据库: pvConnectionString = "Server = Desktop-PC\\SQLEXPRESS; Database = PVDatabase; User ID = sa; PASSWORD […]