小编cih*_*a87的帖子

如何在tsql中将分钟分为几天,几小时和几分钟

我有一个由分钟组成的专栏.有没有简单的方法将分钟列分成一列,只显示天,小时,分钟?

DURATION              
-----------
67           ==> 1 hour, 7 minutes
1507         ==> 1 day, 1 hour, 7 minutes
23           ==> 23 minutes
Run Code Online (Sandbox Code Playgroud)

我用谷歌搜索解决方案,但我没有找到任何类似的解决方案.我想在一份报告中展示这一点,但试图找到如何解决这一专栏看起来有意义.持续时间列的计算方式如下.

avg(datediff(MINUTE, ei.SentDate, eo.SentDate)) over(partition by ei.mailbox) as DURATION   
Run Code Online (Sandbox Code Playgroud)

t-sql sql-server datetime date-conversion

3
推荐指数
1
解决办法
1万
查看次数

ExecuteScalar() sometimes returns empty but not null object. Why?

ExecuteScalar() sometimes returns empty object -not null- although the record is exists. When I analyze this object with quickwatch, I see that object.GetType() is equal to DbNull. I can handle this empty object but I need to know why it is returns empty object sometimes although the record is exists.

string sql = @"SELECT SentDate 
               FROM dbo.EmailOut                                    
               WHERE ID = @ID";
SqlCommand cmd = new SqlCommand(sql, _cnn);
cmd.CommandType = System.Data.CommandType.Text;
cmd.Parameters.Add(new SqlParameter("@ID", ID));
object obj = cmd.ExecuteScalar();
if (obj …
Run Code Online (Sandbox Code Playgroud)

c# executescalar

3
推荐指数
1
解决办法
958
查看次数

如何向SqlParameter [] Collection添加新参数?

我想使用类似这样的东西:

using (DataSet ds = new DataSet())
{
    SqlParameter[] dbParams = new SqlParameter[]
    {                        
        new SqlParameter("@PromptID", promptID)
    };

    if (scenarioID != 0)
        dbParams.Concat(new SqlParameter("@ScenarioID", scenarioID));
    //OR
    if (scenarioID != 0)
        dbParams.Add(new SqlParameter("@ScenarioID", scenarioID));
    }
}
Run Code Online (Sandbox Code Playgroud)

我已经搜索过添加IEnumarable集合,但它并没有解决我的问题.我应该创建两个集合并连接它们吗?我认为必须有一种简单的方法来添加项目.有什么建议?

c# collections ienumerable

2
推荐指数
1
解决办法
1万
查看次数

SQL Server:获取"无效的列名"

我正在写一个查询,但有一些我找不到的问题.这是我的代码

begin
    declare @v_max int
    declare @v_count int
    declare @sessionID int
    declare @sessionStart datetime
    declare @sessionEnd datetime

    declare my_cursor cursor local for
        select * from Test;

    open my_cursor
    fetch next from my_cursor INTO @sessionID, @sessionStart, @sessionEnd

    while @@FETCH_STATUS = 0
    begin
        select *  into **@v_count**
        from [dbo].[Test]
        WHERE **[dbo].[Test].[SessionStartTime]** > @sessionStart
        OR **[dbo].[Test].[SessionCloseTime]** < @sessionEnd

        if @v_count > @v_max 
            set @v_max = @v_count


        fetch next from my_cursor INTO @sessionID, @sessionStart, @sessionEnd
    end

    print @v_max;

    close my_cursor
    deallocate my_cursor
end 
Run Code Online (Sandbox Code Playgroud)

粗糙区域存在问题: …

t-sql sql-server

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

TSQL上select语句中的前1个案例

我在这个查询上遇到问题.我怎样才能解决这个问题:

select (select case top 1 STATUS 
       when 'Inprocess' then 'Processing' 
       when 'Inworkbin' then 'Waiting In Draft' 
       end 
    from ICS_EMAIL_CONNECTIONS_TRX A    
    where A.SESSIONID = B.SESSIONID 
    and STATUS <> 'Completed'
    order by A.CREATE_DATE desc) as LAST_STATUS 
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

关键字"top"附近的语法不正确.

有什么建议?

sql t-sql case top-n

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

DbNull.Value和DbNull.Value.ToString()之间的区别

我想了解哪种用法是正确的?

if(!string.IsNullOrEmpty(parentID))
   cmd.Parameters.Add(new SqlParameter("@ParentSesID", parentID));
else
   cmd.Parameters.Add(new SqlParameter("@ParentSesID", DBNull.Value));
Run Code Online (Sandbox Code Playgroud)

要么

if(!string.IsNullOrEmpty(parentID))
   cmd.Parameters.Add(new SqlParameter("@ParentSesID", parentID));
else
   cmd.Parameters.Add(new SqlParameter("@ParentSesID", DBNull.Value.ToString()));
Run Code Online (Sandbox Code Playgroud)

c# dbnull sqlparameter

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

如何将数字分成几部分并保留剩余部分

我想将任何数字分割成任何相同的部分,最后剩下但不可分割的部分将是最后一个部分。我写了这段代码,但我知道这应该是更简单的方法:) 例如;7500 除以 2000,最后一个模数部分就是最后一个部分。有什么建议么?

public class MyClass {
public static void main(String args[]) {
  int x =7500;
  int y = 2000;
  int lastPartCount = 0;
  String result = new String();
  
  if(x%y != 0){
      lastPartCount = x%y;
  }
  
  int newx = x-lastPartCount;
  
  for(int i=1; i<=(newx/y); i++){
      if(i == 1){//first member
          result = "part " + i + ": 0-" + y*i;
      }else
      {
          result = "part " + i + ": " + (y*(i-1)) + "-"  + y*i;
      }
      
      System.out.println(result);
      
      if(i …
Run Code Online (Sandbox Code Playgroud)

java

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