Questions tagged «tsql»

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



16
SQL-从varchar数据类型到datetime数据类型的转换导致值超出范围
运行SQL到我的数据类型值从转换的时候,我一直得到以下错误varchar来datetime。 消息242,级别16,状态3,行1将varchar数据类型转换为datetime数据类型导致值超出范围。 我检查了数据,看不到任何奇怪的东西:进行了以下检查,所有结果均未返回 SELECT [Date] from table where [DATe] is null SELECT [Date] from table where [DATe] = '' SELECT [Date] from table where LEN([date])> 10 SELECT [Date] from table where LEN([date])< 10 SELECT top 100 [Date] , SUBSTRING([date],4,2) from [table where convert(int, SUBSTRING([date],4,2)) < 1 or convert(int, SUBSTRING([date],4,2)) > …


5
MS SQL比较日期?
我有2个日期(日期时间): date1 = 2010-12-31 15:13:48.593 date2 = 2010-12-31 00:00:00.000 在同一天,只是时间不同。由于日期1的时间,使用<=比较日期1和日期2不起作用。因此date1 <= date2是错误的,但应为true。我可以仅通过查看年,月和日来比较它们是否相同?它的SQL Server 2008。 谢谢 :)

10
如何在SQL Server中抛出相同的异常
我想在try块中重新抛出SQL Server中刚刚发生的相同异常。我可以抛出相同的消息,但我想抛出相同的错误。 BEGIN TRANSACTION BEGIN TRY INSERT INTO Tags.tblDomain (DomainName, SubDomainId, DomainCode, Description) VALUES(@DomainName, @SubDomainId, @DomainCode, @Description) COMMIT TRANSACTION END TRY BEGIN CATCH declare @severity int; declare @state int; select @severity=error_severity(), @state=error_state(); RAISERROR(@@Error,@ErrorSeverity,@state); ROLLBACK TRANSACTION END CATCH RAISERROR(@@Error, @ErrorSeverity, @state); 该行将显示错误,但是我想要类似的功能。这会引发错误号为50000的错误,但是我希望我传递的错误号被抛出@@error, 我想在前端捕获此错误。 即 catch (SqlException ex) { if ex.number==2627 MessageBox.show("Duplicate …


6
数据库表中的随机记录(T-SQL)
有没有一种简洁的方法可以从sql server表中检索随机记录? 我想将单元测试数据随机化,因此正在寻找一种从表中选择随机ID的简单方法。用英语来说,选择将是“从表中选择一个ID,其中ID是表中最低ID和表中最高ID之间的随机数”。 我无法找到一种方法,而不必运行查询,测试null值,然后如果为null则重新运行。 有想法吗?



2
为什么在SQL中为199.96-0 = 200?
我有些客户的账单很奇怪。我能够找出核心问题: SELECT 199.96 - (0.0 * FLOOR(CAST(1.0 AS DECIMAL(19, 4)) * CAST(199.96 AS DECIMAL(19, 4)))) -- 200 what the? SELECT 199.96 - (0.0 * FLOOR(1.0 * CAST(199.96 AS DECIMAL(19, 4)))) -- 199.96 SELECT 199.96 - (0.0 * FLOOR(CAST(1.0 AS DECIMAL(19, 4)) * 199.96)) -- 199.96 SELECT 199.96 - (CAST(0.0 AS …

10
如何使用SQL从日期字段按月分组
如何仅从日期字段中按月分组(而不是按天分组)? 我的日期字段如下所示: 2012-05-01 这是我当前的SQL: select Closing_Date, Category, COUNT(Status)TotalCount from MyTable where Closing_Date >= '2012-02-01' and Closing_Date <= '2012-12-31' and Defect_Status1 is not null group by Closing_Date, Category
84 sql  sql-server  tsql 

3
T-SQL和WHERE LIKE%Parameter%子句
我试图编写一条使用WHERE LIKE'%text%'子句的语句,但是当我尝试为文本使用参数时我没有收到结果。例如,这有效: SELECT Employee WHERE LastName LIKE '%ning%' 这将返回用户Flenning,Manning,Ningle等。但是此语句不会: DECLARE @LastName varchar(max) SET @LastName = 'ning' SELECT Employee WHERE LastName LIKE '%@LastName%' 未找到结果。有什么建议么?提前致谢。

10
将子查询中的多个结果合并为一个逗号分隔的值
我有两个桌子: TableA ------ ID, Name TableB ------ ID, SomeColumn, TableA_ID (FK for TableA) 这种关系是TableA一对多的TableB。 现在,我想看到这样的结果: ID Name SomeColumn 1. ABC X, Y, Z (these are three different rows) 2. MNO R, S 这将不起作用(在子查询中有多个结果): SELECT ID, Name, (SELECT SomeColumn FROM TableB WHERE F_ID=TableA.ID) FROM TableA 如果我在客户端进行处理,这将是一个小问题。但这意味着我将必须在每个页面上运行X查询,其中X是的结果数TableA。 请注意,我不能简单地执行GROUP BY或类似的操作,因为它将为的行返回多个结果TableA。 我不确定使用COALESCE或类似方法的UDF是否可以工作?
84 sql-server  tsql  join 


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.