小菜来袭 2017-01-19 13:10 采纳率: 50%
浏览 1282
已采纳

c# 数据库问题 取出字段的值 并做判断

 DECLARE @SQL VARCHAR(8000)
SET @SQL='SELECT CONVERT(VARCHAR(10),DacTime,120)'
DECLARE @INDEX INT
SET @INDEX=1
WHILE @INDEX<=24
BEGIN
    SET @SQL=@SQL+',SUM(CASE WHEN DATEPART(HH,DacTime)='+CAST(@INDEX AS VARCHAR(2))+' THEN 1 END)['+CAST(@INDEX AS VARCHAR(2))+']'
    SET @INDEX=@INDEX+1
END
SET @SQL=@SQL+'FROM [SURF_DeviceDataHist] where DateDiff(dd,DacTime,getdate())=1  GROUP BY CONVERT(VARCHAR(10),DacTime,120)'
EXEC(@SQL)

下面是查询结果
图片说明

我想取消那个无列名的显示
然后把1到24每个字段数据取出来 判断是不是等于3

  • 写回答

1条回答 默认 最新

  • threenewbee 2017-01-19 18:49
    关注

    CONVERT(VARCHAR(10),DacTime,120)
    去掉这个就没有第一列了
    @INDEX 就是所有为1的数据的和

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 已采纳回答 9月15日

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器