[英]How to convert stored procedure to SQL Server Compact Edition query
I have a stored procedure that I need to convert to a standard query. 我有一个存储过程,需要将其转换为标准查询。 Since I'm using SQL Server Compact, no stored procedures.
由于我使用的是SQL Server Compact,因此没有存储过程。
Here is my stored procedure: 这是我的存储过程:
declare @colu nvarchar (max) , @hour int
set @hour = DATEPART(HH, GETDATE() )
select @hour
select @colu =
case when @hour=24
then '[12:00AM(00:00)]'
enter code here
when @hour >12 and @hour <24
then '['+ convert(varchar,@hour-12) +':00PM('+ convert(nvarchar ,@hour) +':00)]'
when @hour=12
then '[12:00PM(12:00)]'
when @hour <12 and @hour >9
then '['+convert(nvarchar ,@hour) +':00AM('+ convert(nvarchar ,@hour) +':00)]'
else '['+convert(nvarchar ,@hour) +':00AM(0'+ convert(nvarchar ,@hour) +':00)]'
end
select @colu
declare @sql nvarchar(max)
set @sql= 'select ID,'''+ @colu + ''' as time from table' -- add quote here
select @sql
exec sp_executesql @sql
Like I say, I'm kind of stumped here. 就像我说的那样,我在这里有些困惑。 Any ideas?
有任何想法吗?
Here is the code that I used to determine the time value and dynamically specify the column name: 这是我用来确定时间值并动态指定列名的代码:
float basalrate = 0;
DateTime HourVal = Convert.ToDateTime(PumpEditTime);
if (HourVal == null)
{
HourVal = DateTime.Now;
}
int hourval = HourVal.Hour;
int ampmhour = Convert.ToInt32(HourVal.ToString("hh"));
string hourampm = string.Empty;
if (hourval == Convert.ToInt32("24"))
{
hourampm = "[12:00AM(00:00)]";
}
else if ((hourval > 12) && (hourval < 24))
{
hourampm = "[" + ampmhour + ":00PM(" + hourval + ":00)]";
}
else if (hourval == 12)
{
hourampm = "[12:00PM(12:00)]";
}
else if ((hourval < 12) && (hourval > 9))
{
hourampm = "[" + ampmhour + ":00AM(" + hourval + ":00)]";
}
else
{
hourampm = "[" + ampmhour + ":00AM(0" + hourval + ":00)]";
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.