Questions tagged «tsql»

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

11
SQL:与<=和> =之间
在SQL Server 2000和2005中: 这两个WHERE子句有什么区别? 我应该在哪种情况下使用哪一个? 查询1: SELECT EventId, EventName FROM EventMaster WHERE EventDate BETWEEN '10/15/2009' AND '10/18/2009' 查询2: SELECT EventId, EventName FROM EventMaster WHERE EventDate &gt;='10/15/2009' AND EventDate &lt;='10/18/2009' (编辑:最初缺少第二个Eventdate,因此查询在语法上是错误的)
111 sql  sql-server  tsql  where  between 

7
IDENTITY_INSERT设置为OFF-如何将其打开?
我有一个已删除的文件存档数据库,其中存储了已删除文件的ID,我希望管理员能够恢复该文件(以及用于链接文件的相同ID)。我不想从整个表中删除identity_insert,因为将其递增1效果很好。在我的插入TBL_Content存储过程中,我有这样的东西 set ANSI_NULLS ON set QUOTED_IDENTIFIER ON SET IDENTITY_INSERT tbl_content ON GO ALTER procedure [dbo].[spInsertDeletedIntoTBLContent] @ContentID int, ...insert command... SET IDENTITY_INSERT tbl_content OFF 但是我不断收到同样的错误: 当IDENTITY_INSERT设置为OFF时,无法在表'TBL_Content'中为标识列插入显式值。 有什么帮助吗?
111 sql  sql-server  tsql 

4
如何用标识列创建表
我有一个将要删除的现有表,因为我没有使用将ID列设置为表的Identity列来创建该表。 使用SQL Server Management Studio,我编写了现有表的“创建至...”脚本,并得到了以下信息: CREATE TABLE [dbo].[History]( [ID] [int] NOT NULL, [RequestID] [int] NOT NULL, [EmployeeID] [varchar](50) NOT NULL, [DateStamp] [datetime] NOT NULL, CONSTRAINT [PK_History] PRIMARY KEY CLUSTERED ( [ID] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] …
111 sql  sql-server  tsql 



9
在SQL中转置列和行的简单方法?
如何在SQL中简单地切换带有行的列?有没有简单的命令要转置? 即把这个结果: Paul | John | Tim | Eric Red 1 5 1 3 Green 8 4 3 5 Blue 2 2 9 1 到这个: Red | Green | Blue Paul 1 8 2 John 5 4 2 Tim 1 3 9 Eric 3 5 1 PIVOT 在这种情况下似乎太复杂了。
110 sql  sql-server  tsql  pivot 


8
在SQL Server中避免在INSERT INTO SELECT查询中重复
我有以下两个表: Table1 ---------- ID Name 1 A 2 B 3 C Table2 ---------- ID Name 1 Z 我需要从数据插入Table1到Table2。我可以使用以下语法: INSERT INTO Table2(Id, Name) SELECT Id, Name FROM Table1 但是,在我的情况下,可能存在重复的ID Table2(在我的情况下,它只是“ 1”),我不想再次复制该ID ,因为这会引发错误。 我可以这样写: IF NOT EXISTS(SELECT 1 FROM Table2 WHERE Id=1) INSERT INTO Table2 (Id, name) SELECT Id, name FROM Table1 …


17
如何使用Print Statement打印VARCHAR(MAX)?
我有一个代码是: DECLARE @Script VARCHAR(MAX) SELECT @Script = definition FROM manged.sys.all_sql_modules sq where sq.object_id = (SELECT object_id from managed.sys.objects Where type = 'P' and Name = 'usp_gen_data') Declare @Pos int SELECT @pos=CHARINDEX(CHAR(13)+CHAR(10),@script,7500) PRINT SUBSTRING(@Script,1,@Pos) PRINT SUBSTRING(@script,@pos,8000) 脚本的长度大约为10,000个字符,并且由于我使用的print语句最多只能容纳8000个字符。因此,我使用的是两个print语句。 问题是当我有一个脚本(例如18000个字符)时,我曾经使用3条打印语句。 那么,有没有一种方法可以根据脚本的长度来设置打印语句的数量?



11
sql主键和索引
假设我在数据库中有一个ID行(int)设置为主键。如果我经常查询ID,是否还需要为其编制索引?还是作为主键意味着它已经被索引了? 我问的原因是因为在MS SQL Server中,我可以在此ID上创建索引,正如我所说的,这是我的主键。 编辑:另一个问题-额外索引主键会不会有任何危害?

3
SQL Server中一个奇怪的操作问题:-100 / -100 * 10 = 0
如果执行SELECT -100/-100*10,结果为0。 如果执行SELECT (-100/-100)*10,结果为10。 如果执行SELECT -100/(-100*10),结果为0。 如果执行SELECT 100/100*10,结果为10。 BOL指出: 当表达式中的两个运算符具有相同的运算符优先级时,将根据它们在表达式中的位置从左到右进行评估。 和 Level Operators 1 ~ (Bitwise NOT) 2 * (Multiplication), / (Division), % (Modulus) 3 + (Positive), - (Negative), + (Addition), + (Concatenation), - (Subtraction), &amp; (Bitwise AND), ^ (Bitwise Exclusive OR), | (Bitwise OR) BOL是错误的,还是我缺少什么?似乎-取消(预期)优先顺序。


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.