如何从此查询创建表值函数?
我需要计算HH:MM开始和结束工作时间之间的 结果
当我在SQL中运行它时,此查询有效:
DECLARE @USERID int;
SET @USERID = 10
DECLARE @JOBStartDATE DATETIME;
SET @JOBStartDATE = (SELECT StartJOBHoursDATE FROM JOBs WHERE ID=@USERID)
DECLARE @StartTime DATETIME;
DECLARE @JOBDateTime DATETIME;
DECLARE @JOBEvent nvarchar(50);
DECLARE @totalTime int;
SET @totalTime = 0;
SELECT ROW_NUMBER() OVER(ORDER BY JOBID) AS ROWNUM, JOBDateTime,JOBEvent INTO #TEMP FROM JOBsActivityData where JOBID = @USERID and JOBDateTime >= @JOBStartDATE
DECLARE @MaxRownum INT
SET @MaxRownum = (SELECT MAX(RowNum) FROM #TEMP)
DECLARE @Iter INT
SET @Iter = (SELECT MIN(RowNum) FROM …Run Code Online (Sandbox Code Playgroud) 我想构建一个Windows服务,通过自主ASP.NET Web API提供一些服务.另外,我想通过自主信号R告知客户一些变化.我认为ASP.NET SignalR将是通知集线器的完美解决方案.
当我运行这两项服务时,他们不能一起工作.如果我删除SignalR,Self-host API开始完美运行.另一种方式:删除Windows服务,SignalR完美地工作.
我不确定我的问题是什么,是否有可能同时为asp.net Web API和SignalR自行托管一个Windows服务?
我尝试了相同和不同的端口,但它不起作用.
另一个问题是,是否可以将两者放在同一个端口上?
我安装的包:
Microsoft.AspNet.WebApi.SelfHost
Microsoft.AspNet.SignalR.SelfHost
Microsoft.AspNet.WebApi.Owin
Microsoft.Owin.Host.HttpListener
Microsoft.Owin.Hosting
Microsoft.Owin.Cors
Run Code Online (Sandbox Code Playgroud)
我的代码
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.ServiceProcess;
using System.Text;
using System.Threading.Tasks;
using System.Web.Http;
using System.Web.Http.SelfHost;
using Microsoft.AspNet.SignalR;
using Microsoft.Owin.Hosting;
using Owin;
using Microsoft.Owin.Cors;
using Microsoft.Owin;
[assembly: OwinStartup(typeof(WindowsService_HostAPI.Startup))]
namespace WindowsService_HostAPI
{
partial class SelfHostService : ServiceBase
{
IDisposable SignalR;
EventLog myLog = new EventLog();
private const string appId = "MYHUB";
public SelfHostService()
{ …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用以下代码从SQL Server 2008中的URL读取JSON数据:
DECLARE @temp table (RowNum int, DATA NVARCHAR(max))
DECLARE @url VARCHAR(MAX),
@win INT,
@hr INT,
@Text VARCHAR(8000),
@RowID int,
@Status smallint,
@Accuracy tinyint
Set @url = 'http://www.jsonprovider.com/api/json/2020'
EXEC @hr = sp_OACreate 'WinHttp.WinHttpRequest.5.1', @win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr = sp_OAMethod @win, 'Open', NULL, 'GET', @url, 'false'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr = sp_OAMethod @win, 'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr = sp_OAGetProperty @win, 'ResponseText', @Text …Run Code Online (Sandbox Code Playgroud) 我有Excel数据文件.在单元格中,我有这样的数据
Run Code Online (Sandbox Code Playgroud)480000074B26E42D
我怎样才能在其他单元格中得到结果
Run Code Online (Sandbox Code Playgroud)2DE4264B07000048
所以,我想把最后两位数字放在前面.然后是接下来的2位数字,2D然后把它放在2D(前面的那个)之后

我尝试使用此代码,但我得到错误的结果
=RIGHT(B2,LEN(B2) -2)
Run Code Online (Sandbox Code Playgroud) 假设我有一个名为的表'@DeviceSample'和另一个名为的表'@DevicesActivityDataSample'.
我想为每个设备选择前1个'MAX(DATETIME)'FROM '@DevicesActivityDataSample'但是当我有重复的行时在'DevicesActivityDataSample'在我的结果中我得到所有重复的行,但我寻找前一个.另一个问题是当我想要从100000行中选择时需要很长时间才能得到我的结果因为计算MAX这是我的示例代码
DECLARE @DeviceSample TABLE
(
RowID INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
ADeviceID INT ,
DeviceName VARCHAR(50) NOT NULL
)
INSERT @DeviceSample
SELECT 1,'DEVICE 1' UNION ALL
SELECT 2,'DEVICE 2' UNION ALL
SELECT 3,'DEVICE 3'
DECLARE @DevicesActivityDataSample TABLE
(
RowID INT IDENTITY(1, 1) PRIMARY KEY CLUSTERED,
BDeviceID INT,
DeviceDateTime DATETIME,
CMD NVARCHAR(50)
)
INSERT @DevicesActivityDataSample
SELECT 1, '2013-02-14 19:08:46.000','HHJJ' UNION ALL
SELECT 2, '2013-02-15 03:30:24.000','HHJJ' UNION ALL
SELECT 2, '2013-02-15 03:30:24.000','HHJJ' UNION …Run Code Online (Sandbox Code Playgroud)