小编Ano*_*non的帖子

数据类型为tinyint的算术溢出错误,值= -1

在运行此查询时,我收到错误,任何想法为什么?

select ISNULL(NULLIF(0,0), -1)
Run Code Online (Sandbox Code Playgroud)

错误:

Msg 220,Level 16,State 2,Line 1

数据类型为tinyint的算术溢出错误,值= -1.

编辑 - 另一个例子:

select ISNULL(NULLIF(0.0,0.0), 1.0)
Run Code Online (Sandbox Code Playgroud)

消息8115,级别16,状态8,行1算术溢出错误将数字转换为数据类型数字.

sql t-sql sql-server

6
推荐指数
1
解决办法
6506
查看次数

SQL Server:连续行问题

我对连续行查询有困难,需要一些帮助.

我有一个表是电话交换机的一部分.它跟踪每个登录电话的员工(以及电话分机).我有另一张桌子告诉我手机的位置(跨多个网站).

我们想要的逻辑是,如果有人连续两天登录到某个特定的电话/网站,我们将触发一个事件来更新其员工记录,使该网站成为他们的主要位置.

我对分区的问题是,即使数据不是真正连续的,我的数量也在增加.

如果您考虑下表:

row_date    logid   extn    duration    sitecode    daysconsecutive
----------------------------------------------------------------------------    
2014-05-22  500001  414128  9.82    W   1
2014-05-27  500001  414120  10.74   W   2
2014-05-28  500001  414149  5.47    W   3
2014-05-28  500001  414126  6.18    W   4
2014-05-29  500001  414128  11.80   W   5
2014-05-30  500001  414128  2.21    W   6
2014-05-30  500001  414150  5.47    N   1
2014-05-31  500001  414128  4.57    W   7
2014-06-02  500001  414150  4.94    N   2
Run Code Online (Sandbox Code Playgroud)

正如你在5月30日所看到的那样,这个人从站点W移动到N.然后在5月31日他们回到了站点W - 但是这行应该是1而不是7,因为它与6连续不连续他从5月22日到5月30日在W站点.

一旦我解决了这个问题,我将选择最大条目where daysconsecutive>=2并使用它来激活更新.

您可以提供的任何帮助将不胜感激.

这适用于SQL Server 2008 R2.

干杯.

在这里 …

sql-server sql-server-2008-r2 gaps-and-islands

5
推荐指数
1
解决办法
171
查看次数

将ntext/text转换为hex/binary/varbinary

我怎样才能在SQL服务器上获得此查询?它导致错误:这是MySQL版本

SELECT HEX(c1) FROM t1;
Run Code Online (Sandbox Code Playgroud)

这个简单的例子工作:

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT CAST('example data' AS VARBINARY) AS Body2
Run Code Online (Sandbox Code Playgroud)

但是这个sql dosnt工作.

/****** Script for SelectTopNRows command from SSMS  ******/
SELECT TOP 10 [NewsID]
      ,[upTitle]
      ,[Title]
      ,[Summary]
      ,CAST(Body AS VARBINARY) AS Body2
      ,[LargePic]
      ,[PublishDate]
  FROM [Upgrade_News].[dbo].[News_News]
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误

Msg 529, Level 16, State 2, Line 6
Explicit conversion from data type ntext to varbinary is not allowed.
Run Code Online (Sandbox Code Playgroud)
  1. 我想把hexed列作为值.我怎么能在SQL Server上这样做?
  2. SQL服务器上HEX和UNHEX数据的正确功能是什么?

我需要ntext在select上转换为HEX数据.它不是整数或短字符串.

sql-server

4
推荐指数
1
解决办法
5705
查看次数