Tag: sql server

Sql服务器真正的数据types,什么是C#相当于?

什么是C#相当于SQL Server 2005实际types?

如何从一个位域获得真/假计数到两个单独的列

我需要创build一个查询,将True(1)和False(0)的数量从一个位字段中分成两个单独的列。 我join了3张桌子,需要它是这样的: 属性| 类| 通过| 失败 我将分组在属性和类。

在SQL中减去两个date并得到结果的日子

Select I.Fee From Item I WHERE GETDATE() – I.DateCreated < 365 days 我怎样才能减去两天? 结果应该是几天。 例如:365天。 500天..等等…

如何使SQL Server 2008中的“无重复”列?

我有一个简单的表在我的SQL Server数据库。 该表包含两列: ID int, Name nvarchar(50) 。 ID列是我的表的主键。 我想要“ Name ”列是“ (No Duplicates) ”,就像在Microsoft Access中一样,但是这个列不是主列。 我怎么能这样做?

SQL Server 2005中的Atomic UPSERT

在SQL Server 2005中,执行一个primefaces“UPSERT”(UPDATE where exists,INSERT otherwise)的正确模式是什么? 我看到很多代码(例如,请参阅检查一行是否存在,否则插入 )与以下两部分模式: UPDATE … FROM … WHERE <condition> — race condition risk here IF @@ROWCOUNT = 0 INSERT … 要么 IF (SELECT COUNT(*) FROM … WHERE <condition>) = 0 — race condition risk here INSERT … ELSE UPDATE … 其中<条件>将是对自然键的评估。 上述方法都不能很好地处理并发。 如果我不能有两个具有相同的自然键的行,看起来像所有的上述风险插入行在竞争条件情况下具有相同的自然键。 我一直在使用下面的方法,但我很惊讶,不能在人们的回答中看到它,所以我想知道它有什么问题: INSERT INTO <table> SELECT <natural keys>, […]

ORDER BY子句在视图,内联函数,派生表,子查询和公用表expression式中是无效的

ORDER BY子句在视图,内联函数,派生表,子查询和公用表expression式中是无效的,除非还指定了TOP,OFFSET或FOR XML。 我正在尝试执行以下查询时遇到上述错误。 任何人都可以请看看,并告诉我我在这里做错了什么? SELECT * FROM ( SELECT Stockmain.VRNOA, item.description as item_description, party.name as party_name, stockmain.vrdate, stockdetail.qty, stockdetail.rate, stockdetail.amount, ROW_NUMBER() OVER (ORDER BY VRDATE) AS RowNum FROM StockMain INNER JOIN StockDetail ON StockMain.stid = StockDetail.stid INNER JOIN party ON party.party_id = stockmain.party_id INNER JOIN item ON item.item_id = stockdetail.item_id WHERE stockmain.etype='purchase' ORDER BY […]

我如何才能在SQL Server Management Studio中运行我的光标所在的语句?

作为Oracle用户的一个长时间的Toad,我已经习惯了按Ctrl + Enter,并且只有光标下的语句被执行。 在SQL Server Management Studio中,按F5运行整个脚本。 为了只运行当前的语句,我必须手动突出显示我想要的语句,然后按F5键。 对我来说真的很烦人 有没有人知道一个键盘快捷键的工具只运行SQL Server上的当前语句? 我会改变这个function的工具。 注意:奇怪的是,即使免费的Toad for SQL Server也不能让你只运行光标下的语句。

T-SQL:如何select值列表中不在表中的值?

我有一个电子邮件地址列表,其中一些在我的表中,其中一些不是。 我想从列表中select所有的电子邮件,以及它们是否在表格中。 我可以得到邮件地址在这个表中的用户: SELECT u.* FROM USERS u WHERE u.EMAIL IN ('email1', 'email2', 'email3') 但是,我怎样才能select列表中不存在的值? 而且,我怎么能这样select: E-Mail | Status email1 | Exist email2 | Exist email3 | Not Exist email4 | Exist 提前致谢。

在SQL LIKE子句中使用SqlParameter不起作用

我有以下代码: const string Sql = @"select distinct [name] from tblCustomers left outer join tblCustomerInfo on tblCustomers.Id = tblCustomerInfo.CustomerId where (tblCustomer.Name LIKE '%@SEARCH%' OR tblCustomerInfo.Info LIKE '%@SEARCH%');"; using (var command = new SqlCommand(Sql, Connection)) { command.Parameters.AddWithValue("@SEARCH", searchString); … } 这不起作用,我也试过这个: const string Sql = @"select distinct [name] from tblCustomers left outer join tblCustomerInfo on tblCustomers.Id = […]

我如何创build一个基于2列的SQL唯一约束?

我有这样一个表格: |UserId | ContactID | ContactName ————————————— | 12456 | Ax759 | Joe Smith | 12456 | Ax760 | Mary Smith | 12458 | Ax739 | Carl Lewis | 12460 | Ax759 | Chuck Norris | 12460 | Bx759 | Bruce Lee 我需要添加一个约束到这个表,以便没有用户可以有重复的联系人ID。 用户正在从各种外部系统导入数据,因此ContactId在整个电路板上不是唯一的,但是在每个用户的基础上是唯一的。 我知道如何创build基于单列的唯一约束和非零约束,但是如何创build跨2列的唯一约束呢?