在SQL Server中,Oracle的RowID是什么?
在Microsoft SQL Server中,我有一个星期的编号 (from DATEPART(wk, datecol)) 但是我想要做的就是把这个回到当天的date范围。 例如, SELECT DATEPART(wk, GETDATE()) 产量10.我想从这个数字推导3/1/2009和3/7/2009。 这可能吗?
在SQL Server 2008中,我有一个名为Zone的表,其中一列ZoneReference varchar(50) not null作为主键。 如果我运行以下查询: select '"' + ZoneReference + '"' as QuotedZoneReference from Zone where ZoneReference = 'WF11XU' 我得到以下结果: "WF11XU " 注意尾部空格。 这怎么可能? 如果后面的空格确实存在于那一行上,那么我希望返回零结果,所以我假设SQL Server Management Studio显示出来的东西是奇怪的。 在C#代码中调用zoneReference.Trim()将其删除,表明它是某种空白字符。 谁能帮忙?
将parameter passing给SQLCommand的最佳方法是什么? 你可以做: cmd.Parameters.Add("@Name", SqlDbType.VarChar, 20).Value = "Bob"; 要么 cmd.Parameters.Add("@Name", SqlDbType.VarChar).Value = "Bob"; 要么 cmd.Parameters.Add("@Name").Value = "Bob"; 看起来第一个可能在某种程度上“更好”,无论是在性能方面还是在错误检查方面。 但是我想更确切地知道。
在我的存储过程中,我在过程之上声明了两个表variables。 现在我正在尝试在dynamicsql语句中使用该表variables,但在执行该过程时出现此错误。 我正在使用Sql Server 2008。 这是我的查询的样子, set @col_name = 'Assoc_Item_' + Convert(nvarchar(2), @curr_row1); set @sqlstat = 'update @RelPro set ' + @col_name + ' = (Select relsku From @TSku Where tid = ' + Convert(nvarchar(2), @curr_row1) + ') Where RowID = ' + Convert(nvarchar(2), @curr_row); Exec(@sqlstat); 我得到以下错误, 必须声明表variables“@RelPro”。 必须声明表variables“@TSku”。 我试图把表的dynamic查询的string块外,但无济于事。
所以我有一个标识列作为主键的表,所以它是一个整数。 那么,为什么SCOPE_IDENTITY()总是返回一个十进制值而不是一个int到我的C#应用程序? 这真的很烦人,因为十进制值不会隐式转换为C#中的整数,这意味着我现在不得不重写一堆东西,并有很多帮助方法,因为我使用SQL Server和Postgres,其中Postgres返回一个整数等价函数 为什么SCOPE_IDENTITY()不只是返回一个纯整数? 有没有人通常使用主键的十进制/非身份值?
我已经在SQL Server 2008中声明了一个NVARCHAR(MAX)types的列,它的最大长度是多less?
我希望有一个简单的方法来做到这一点,而不使用子查询: 场景:您有“TableA”列“Key”,“SubKey”和“Value”。 我需要获得给定“密钥”的MAX(“SubKey”)的“Value”。 所以如果表格包含行: KEY SUBKEY VALUE 1 1 100 1 2 200 1 3 300 对于Key = 1,我需要300的值。我希望做这样的事情: SELECT VALUE FROM TableA WHERE Key = 1 HAVING SubKey = MAX(SubKey) 但这是一个不行。 有没有办法做到这一点,而不做'WHERE子密钥=(子select最大子密钥)“?
我需要在SQL Server 2008上查看数据库的事务日志,以查找删除事务,并希望将其回滚。 不幸的是,我不知道从哪里开始,我很难确定哪些是Google上的优秀文章。 我该怎么办?
我需要计算一个表的两行之间的列的差异,有什么办法,我可以直接在SQL中做到这一点? 我正在使用Microsoft SQL Server 2008。 我正在寻找这样的东西: SELECT value – (previous.value) FROM table 设想“前一个”variables引用最近select的行。 当然,如果select这样的结果,我最终会在n行的表中selectn-1行,这不是一个可能,实际上正是我所需要的。 这在某种程度上可能吗?