Tag: sql server

SQL Server相当于Oracle的NULLS FIRST?

因此,Oracle有NULLS FIRST,我可以使用空值在顶部sorting,然后按降序排列我的列值: ORDER BY date_sent NULLS FIRST 在SQL Server中有什么可比的? 假设date值为NULL或过去有以下替代scheme: ORDER BY ISNULL(date_sent, GETDATE()) DESC ORDER BY (CASE WHEN t.setinactive IS NULL THEN 1 ELSE 2 END), t.setinactive DESC ORDER BY -CAST(date_sent as int) ASC 其他人?

SQL COUNT溢出

这是我的查询: SELECT COUNT(*)FROM相似性WHERE T1Similarity = 0或者T2Similarity = 0 结果如下: Msg 8115,Level 16,State 2,Line 1 将expression式转换为数据typesint的算术溢出错误。 该表有40亿行。 我不除了这个查询是快速的,但约5分钟后,它会失败,溢出错误。 有一个比int COUNT函数大吗? 谢谢。

处理DBNull的最好方法是什么?

我经常遇到处理从SqlDataAdapters返回的DataRows问题。 当我尝试使用如下代码填充对象时: DataRow row = ds.Tables[0].Rows[0]; string value = (string)row; 在这种情况下处理DBNull's最好方法是什么?

SQL Server 2005将variables设置为select查询的结果

如何在不使用存储过程的情况下将variables设置为select查询的结果? 我想做类似于:OOdate DATETIME SET OOdate = Select OO.Date FROM OLAP.OutageHours as OO WHERE OO.OutageID = 1 然后我想在这个查询中使用OOdate: SELECT COUNT(FF.HALID) from Outages.FaultsInOutages as OFIO INNER join Faults.Faults as FF ON FF.HALID = OFIO.HALID WHERE CONVERT(VARCHAR(10),OO.Date,126) = CONVERT(VARCHAR(10),FF.FaultDate,126)) AND OFIO.OutageID = 1

如果存在,则select其他插入,然后select

你如何在Microsoft SQL Server 2005中说下面的内容: IF EXISTS (SELECT * FROM Table WHERE FieldValue='') THEN SELECT TableID FROM Table WHERE FieldValue='' ELSE INSERT INTO TABLE(FieldValue) VALUES('') SELECT TableID FROM Table WHERE TableID=SCOPE_IDENTITY() END IF 我想要做的是看看是否有一个空白fieldvalue,如果有,然后返回该TableID,否则插入一个空白的fieldvalue并返回相应的主键。

如何检查sp_dbcmptlevel之后的SQL Server数据库兼容性?

根据sp_dbcmptlevel上的BOL(SQL Server联机丛书) 此function将在未来版本的Microsoft SQL Server中删除。 不要在新的开发工作中使用这个特性,并尽快修改当前使用这个特性的应用。 改为使用ALTER DATABASE兼容级别。 现在,我知道检查数据库兼容性的唯一TSQL方法是通过sp_dbcmptlevel 。 据我所知, ALTER DATABASE Compatibility Level只是设置兼容级别,而不是获取信息。 如何在不使用GUI的情况下获得兼容级别?

SQL Server组通过计算DateTime每小时?

create table #Events ( EventID int identity primary key, StartDate datetime not null, EndDate datetime not null ) go insert into #Events (StartDate, EndDate) select '2007-01-01 12:44:12 AM', '2007-01-01 12:45:34 AM' union all select '2007-01-01 12:45:12 AM', '2007-01-01 12:46:34 AM' union all select '2007-01-01 12:46:12 AM', '2007-01-01 12:47:34 AM' union all select '2007-01-02 5:01:08 AM', […]

SQL Serverreplace,删除一定的字符后

我的数据看起来像 ID MyText 1 some text; some more text 2 text again; even more text 我怎样才能更新MyText放弃分号后,包括分号,所以我留下了以下内容: ID MyText 1 some text 2 text again 我已经看了SQL Server的replace ,但不能想到一个可行的方式来检查“;”

Where子句中没有ORDER BY的SQL Row_Number()函数?

我用很好的解决scheme发现了一些关于这个主题的问题,但是如果数据不是以一种特定的方式sorting的话,他们实际上都没有处理如何处理。 例如,下面的查询: WITH MyCte AS ( select employee_id, RowNum = row_number() OVER ( order by employee_id ) from V_EMPLOYEE ORDER BY Employee_ID ) SELECT employee_id FROM MyCte WHERE RowNum > 0 如果数据是由employee_id来定购的,那么效果很好。 但是如果我的数据没有任何特定的顺序,但是行号本身就是一个ID呢? 我的目标是编写一个像这样的查询( Row_Number()函数没有ORDER BY子句): WITH MyCte AS ( select employee_id, RowNum = row_number() OVER ( <PRESERVE ORIGINAL ORDER FROM DB> ) from V_EMPLOYEE […]

SQL Server – 将date字段转换为UTC

我最近更新了我的系统,将UTC的date/时间logging为之前存储的当地时间。 我现在需要将所有本地存储的date/时间转换为UTC。 我想知道是否有任何内置函数,类似于.NET的ConvertTime方法? 我试图避免必须编写一个实用程序来为我做这个。 有什么build议么?