Questions tagged «tsql»

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


3
完全外加入vs.完全加入
只是玩弄查询和示例以更好地理解联接。我注意到在SQL Server 2008中,以下两个查询给出的结果相同: SELECT * FROM TableA FULL OUTER JOIN TableB ON TableA.name = TableB.name SELECT * FROM TableA FULL JOIN TableB ON TableA.name = TableB.name 它们是执行完全相同的操作以产生相同的结果,还是在更复杂的示例中遇到不同的结果?这只是可互换的术语吗?

11
SQL Server子查询返回了多个值。当子查询遵循=,!=,<,<=,>,> =时,不允许这样做
我运行以下查询: SELECT orderdetails.sku, orderdetails.mf_item_number, orderdetails.qty, orderdetails.price, supplier.supplierid, supplier.suppliername, supplier.dropshipfees, cost = (SELECT supplier_item.price FROM supplier_item, orderdetails, supplier WHERE supplier_item.sku = orderdetails.sku AND supplier_item.supplierid = supplier.supplierid) FROM orderdetails, supplier, group_master WHERE invoiceid = '339740' AND orderdetails.mfr_id = supplier.supplierid AND group_master.sku = orderdetails.sku 我收到以下错误: 消息512,级别16,状态1,第2行子查询返回的值大于1。当子查询遵循=,!=,&lt;,&lt;=,&gt;,&gt; =或将子查询用作表达式时,不允许这样做。 有任何想法吗?
81 sql  sql-server  tsql 

7
SQL Server ORDER BY日期,最后为空
我想按日期订购。我希望最近的日期排在第一位。这很容易,但是有许多记录为空,并且在任何有日期的记录之前。 我尝试了一些没有成功的事情: ORDER BY ISNULL(Next_Contact_Date, 0) ORDER BY ISNULL(Next_Contact_Date, 999999999) ORDER BY coalesce(Next_Contact_Date, 99/99/9999) 如何按日期排序并让空值排​​在最后?数据类型为smalldatetime。


5
在SQL Server中使用子查询更新查询
我有一个简单的表结构,如下所示: 表tempData ╔══════════╦═══════╗ ║ NAME ║ MARKS ║ ╠══════════╬═══════╣ ║ Narendra ║ 80 ║ ║ Ravi ║ 85 ║ ║ Sanjay ║ 90 ║ ╚══════════╩═══════╝ 而且我还有另一个表名称,像tempDataView这样 ╔══════════╦═══════╗ ║ NAME ║ MARKS ║ ╠══════════╬═══════╣ ║ Narendra ║ ║ ║ Narendra ║ ║ ║ Narendra ║ ║ ║ Narendra ║ ║ ║ …

19
从几列中选择最小值的最佳方法是什么?
给定SQL Server 2005中的下表: ID Col1 Col2 Col3 -- ---- ---- ---- 1 3 34 76 2 32 976 24 3 7 235 3 4 245 1 792 编写产生以下结果的查询的最佳方法是什么(即产生最后一列的查询-该列包含每一行的Col1,Col2和Col 3中的最小值)? ID Col1 Col2 Col3 TheMin -- ---- ---- ---- ------ 1 3 34 76 3 2 32 976 24 24 3 …

5
在SQL的同一行上打印整数变量和字符串
好的,所以我在Technet上搜索了答案,但无济于事。 我只想打印与两个String变量串联的整数变量。 这是我的代码,无法运行: print 'There are ' + @Number + ' alias combinations did not match a record' 看起来像是一个基本功能,我无法想象在T-SQL中是不可能的。但是,如果不可能,请这样说。我似乎找不到直接的答案。
80 sql  sql-server  tsql 

18
使用SQL Server选择更新
我正在使用隔离级别为READ_COMMITTED和的Microsoft SQL Server 2005数据库READ_COMMITTED_SNAPSHOT=ON。 现在我要使用: SELECT * FROM &lt;tablename&gt; FOR UPDATE ...以便其他数据库连接在尝试访问同一行“ FOR UPDATE”时阻塞。 我试过了: SELECT * FROM &lt;tablename&gt; WITH (updlock) WHERE id=1 ...但是这会阻止所有其他连接,即使选择“ 1”以外的ID也是如此。 SELECT FOR UPDATE以Oracle,DB2,MySql所知,哪个是正确的提示? 编辑2009-10-03: 这些是创建表和索引的语句: CREATE TABLE example ( Id BIGINT NOT NULL, TransactionId BIGINT, Terminal BIGINT, Status SMALLINT ); ALTER TABLE example ADD CONSTRAINT …

6
了解SELECT查询上的SQL Server LOCKS
我想知道SELECT WITH (NOLOCK)如果影响该表的其他唯一查询是SELECT查询,在表上使用的好处是什么? SQL Server如何处理?一个SELECT查询会阻止另一个SELECT查询吗? 我正在使用SQL Server 2012和Linq-to-SQL DataContext。 (编辑) 关于性能: 如果使用锁定功能,第二个SELECT必须等待第一个SELECT完成SELECT吗? 与一个SELECT WITH (NOLOCK)?

6
在SQL Server中转义字符串,以便可以在LIKE表达式中安全使用
如何在SQL Server的存储过程中转义字符串,以便可以在LIKE表达式中安全使用。 假设我有一个NVARCHAR像这样的变量: declare @myString NVARCHAR(100); 我想在LIKE表达式中使用它: ... WHERE ... LIKE '%' + @myString + '%'; 如何转义字符串(更具体地说,是对LIKE模式匹配有意义的字符,例如%?在T-SQL中或),以便可以安全地以这种方式使用? 例如,给定: @myString = 'aa%bb' 我想要: WHERE ... LIKE '%' + @somehowEscapedMyString + '%' 匹配'aa%bb','caa%bbc'但没有'aaxbb'或'caaxbb'。


8
如何在SQL表中插入默认值?
我有一个这样的表: create table1 (field1 int, field2 int default 5557, field3 int default 1337, field4 int default 1337) 我想插入一个具有field2和field4默认值的行。 我已经尝试过了,insert into table1 values (5,null,10,null)但是它不起作用,ISNULL(field2,default)也不起作用。 插入行时,如何告诉数据库使用列的默认值?
78 tsql  insert  default 

1
您可以在以下代码中解释sys.sp_addextendedproperty的用法吗?
创建视图后,以下代码中发生了什么?您能给我任何想法或方法吗? 此代码是从这里获取的。 /****** Object: View [dbo].[vProductImages] Script Date: 04/28/2008 16:59:05 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO CREATE VIEW [dbo].[vProductImages] AS SELECT dbo.Products_Images.ProductID, dbo.Images.ThumbUrl, dbo.Images.FullImageUrl FROM dbo.Products_Images INNER JOIN dbo.Images ON dbo.Products_Images.ImageID = dbo.Images.ImageID GO EXEC sys.sp_addextendedproperty @name=N'MS_DiagramPane1', @value=N'[0E232FF0-B466-11cf-A24F-00AA00A3EFFF, 1.00] Begin DesignProperties = Begin PaneConfigurations = Begin PaneConfiguration …


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.