Questions tagged «tsql»

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

10
如何在SQL Server中编写foreach?
我正在尝试按照for-each的方式实现某些目标,在这里我想获取返回的select语句的ID并使用它们中的每一个。 DECLARE @i int DECLARE @PractitionerId int DECLARE @numrows int DECLARE @Practitioner TABLE ( idx smallint Primary Key IDENTITY(1,1) , PractitionerId int ) INSERT @Practitioner SELECT distinct PractitionerId FROM Practitioner SET @i = 1 SET @numrows = (SELECT COUNT(*) FROM Practitioner) IF @numrows > 0 WHILE (@i <= (SELECT MAX(idx) …
192 sql-server  tsql 


8
SQL RANK()与ROW_NUMBER()
我对两者之间的差异感到困惑。运行以下SQL将获得两个重要结果集。有人可以解释差异吗? SELECT ID, [Description], RANK() OVER(PARTITION BY StyleID ORDER BY ID) as 'Rank' FROM SubStyle SELECT ID, [Description], ROW_NUMBER() OVER(PARTITION BY StyleID ORDER BY ID) as 'RowNumber' FROM SubStyle
189 sql  sql-server  tsql 


9
更改varchar列的最大长度?
我正在尝试将varchar列的长度从255个字符更新为500个而不丢失内容。我之前删除并重新创建过表,但是我从未接触过alter语句,这是我认为需要使用的语句。我在这里找到了文档:ALTER TABLE(Transfact-SQL),但是我无法做到这一点。 到目前为止,我有以下情况(不幸的是,基本上没有): alter table [progennet_dev].PROGEN.LE alter column UR_VALUE_3 我该如何处理?是否有更好的文档用于此语句(我对示例语句进行了一些搜索,但结果为空)?


14
SQL Server字符串到日期的转换
我想这样转换一个字符串: '10/15/2008 10:06:32 PM' 转换为Sql Server中的等效DATETIME值。 在Oracle中,我会这样说: TO_DATE('10/15/2008 10:06:32 PM','MM/DD/YYYY HH:MI:SS AM') 这个问题意味着我必须将字符串解析为标准格式之一,然后使用这些代码之一进行转换。对于这种平凡的行动来说,这似乎很可笑。有更容易的方法吗?



9
可以直接选择EXISTS吗?
我想知道是否可以做这样的事情(不起作用): select cast( (exists(select * from theTable where theColumn like 'theValue%') as bit) 似乎应该可行,但是许多在SQL中应该无法工作的东西;)我已经看到了解决方法(SELECT 1 where ... Exists ...),但似乎我应该能够将存在函数的结果转换为一点并完成它。
185 sql  sql-server  tsql 

6
如何在T-SQL存储过程中使用可选参数?
我正在创建一个存储过程以通过表进行搜索。我有许多不同的搜索字段,所有这些都是可选的。有没有一种方法可以创建一个存储过程来处理呢?假设我有一个包含四个字段的表:ID,FirstName,LastName和Title。我可以做这样的事情: CREATE PROCEDURE spDoSearch @FirstName varchar(25) = null, @LastName varchar(25) = null, @Title varchar(25) = null AS BEGIN SELECT ID, FirstName, LastName, Title FROM tblUsers WHERE FirstName = ISNULL(@FirstName, FirstName) AND LastName = ISNULL(@LastName, LastName) AND Title = ISNULL(@Title, Title) END 这类作品。但是,它将忽略FirstName,LastName或Title为NULL的记录。如果在搜索参数中未指定“标题”,则我要包括“标题”为NULL的记录-“名字”和“姓氏”相同。我知道我可以使用动态SQL来做到这一点,但我想避免这种情况。


14
在SQL中,如何对范围进行“分组”?
假设我有一个带有数字列的表(我们称其为“分数”)。 我想生成一张计数表,该表显示每个范围内得分出现的次数。 例如: 分数范围| 出现次数 ------------------------------------- 0-9 | 11 10-19 | 14 20-29 | 3 ... | ... 在此示例中,有11行的分数在0到9之间,有14行的分数在10到19之间,还有3行的分数在20-29之间。 有一个简单的方法来设置它吗?您有什么推荐的吗?
181 sql  sql-server  tsql 


10
在SQL中获取两个值中的最小值
我有两个变量,一个称为PaidThisMonth,另一个称为OwedPast。它们都是SQL中某些子查询的结果。如何选择两者中较小的一个并将其作为标题值返回PaidForPast? 该MIN函数适用于列,而不适用于变量。
179 tsql  sql-server 

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.