在运行此查询时,我收到错误,任何想法为什么?
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算术溢出错误将数字转换为数据类型数字.
我对连续行查询有困难,需要一些帮助.
我有一个表是电话交换机的一部分.它跟踪每个登录电话的员工(以及电话分机).我有另一张桌子告诉我手机的位置(跨多个网站).
我们想要的逻辑是,如果有人连续两天登录到某个特定的电话/网站,我们将触发一个事件来更新其员工记录,使该网站成为他们的主要位置.
我对分区的问题是,即使数据不是真正连续的,我的数量也在增加.
如果您考虑下表:
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服务器上获得此查询?它导致错误:这是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)
我需要ntext在select上转换为HEX数据.它不是整数或短字符串.