在asp中从错误的mysql格式的日期生成json
我参加了一个新项目,这显然不仅仅是过时的。这个应用程序在DB中以一种非常奇怪的模式节省了开放时间,这让我疯狂了一个多星期 请看这张图片: 如您所见,营业时间以如下模式保存:在asp中从错误的mysql格式的日期生成json,sql,json,tsql,vbscript,asp-classic,Sql,Json,Tsql,Vbscript,Asp Classic,我参加了一个新项目,这显然不仅仅是过时的。这个应用程序在DB中以一种非常奇怪的模式节省了开放时间,这让我疯狂了一个多星期 请看这张图片: 如您所见,营业时间以如下模式保存: dayFrom | dayTo | timeFrom | timeTo ======================================= monday | friday | 07:00 | 17:00 saturday | | 08:00 | 12:00 为了避免任何误解:
dayFrom | dayTo | timeFrom | timeTo
=======================================
monday | friday | 07:00 | 17:00
saturday | | 08:00 | 12:00
为了避免任何误解:
从07:00到17:00的开放MO-FR
从08:00到12:00开放SA
周日休息
现在,这似乎已经有点过时了,但坚持下去,一张桌子可能看起来像这样:
dayFrom | dayTo | timeFrom | timeTo
=======================================
monday | tuesday | 07:00 | 14:00
wednesday | | 08:00 | 12:00
thursday | friday | 07:30 | 13:00
saturday | | 08:00 | 12:00
所以,现在我的问题是:我需要创建一个循环或类似的东西来创建一个有效的json字符串,其中包含所有这些开放时间
现在,我有这个:
jsonAppendix={openingHours:[
对于i=1至cinthoechsterTag
jsonAppendix=jsonAppendix&{dayOfWeek:&i&,从1:&rsZeitVon&,到1:&rsZeitBis&},
下一个
'删除最后一个逗号
jsonAppendix=LEFTjsonAppendix,LENjsonAppendix-1
jsonAppendix=jsonAppendix&]}
如果我只有一个星期一到星期五,它已经可以工作了,但是第二个或下一个条目没有考虑在内
输出如下所示,这显然有点正确:
{
"openingHours":[
{
"dayOfWeek":1,
"from1":"07:00",
"to1":"17:00"
},
{
"dayOfWeek":2,
"from1":"07:00",
"to1":"17:00"
},
{
"dayOfWeek":3,
"from1":"07:00",
"to1":"17:00"
},
{
"dayOfWeek":4,
"from1":"07:00",
"to1":"17:00"
},
{
"dayOfWeek":5,
"from1":"07:00",
"to1":"17:00"
}
]
}
但是星期六没有被承认
我的函数如下所示:
dayFrom | dayTo | timeFrom | timeTo
=======================================
monday | tuesday | 07:00 | 14:00
wednesday | | 08:00 | 12:00
thursday | friday | 07:30 | 13:00
saturday | | 08:00 | 12:00
SQL=SELECT*FROM StandortOpen,其中S_ID=&iStandortId&和OpenArt='&sArt&'ORDER BY Sort,OpenArt DESC
调用openRSSQL
“日映射”
tageV0=替换Tagvon,Mo,1
tageV1=替换Tagvon,Di,2
tageV2=替换Tagvon,Mi,3
tageV3=替换Tagvon,Do,4
tageV4=替换Tagvon,Fr,5
tageV5=替换Tagvon,Sa,6
tageV6=7
tageB0=替换TAGBIS,Mo,1
tageB1=替换tagbis,Di,2
tageB2=替换Tagbis,Mi,3
tageB3=替换Tagbis,Do,4
tageB4=替换Tagbis,Fr,5
tageB5=替换Tagbis,Sa,6
'例如:mo-fr
对于tageV中的每个项目
“保存最小的工作日
如果优点项和项目>则
如果您想在SQLServer中创建数据集,请考虑下面的 范例 声明@YourTable table day from varchar25,day to varchar25,timeFrom varchar25,timeTo varchar25 在@YourTable值中插入 “周一”、“周二”、“07:00”、“14:00”, “周三”,“08:00”,“12:00”, “周四”、“周五”、“07:30”、“13:00”, “周六”,“08:00”,“12:00” ;将CTE作为从值1、‘星期一’、2、‘星期二’、3、‘星期三’、4、‘星期四’、5、‘星期五’、6、‘星期六’、7、‘星期日’DDD、DDD中选择的*, 字符as 选择A* ,R1=B.DD ,R2=IsNullC.DD,B.DD 从@YourTable A 在dayFrom=B.DDD时左连接到CTEB 在dayTo=C.DDD时左连接CTEC Where 1=1-此处的Where语句 选择daySeq=A.DD ,dayOfWeek=A.DDD ,from1=IsNullB.TimeFrom,'Closed' ,from2=IsNullB.TimeTo,'Closed' 从反恐执行局 在B.R1和B.R2之间左连接A.DD上的字符B 按1订购 返回 注意:关闭是可选的。删除最终查询中的左连接 现在,如果您想在SQL Server中创建JSON字符串,而您不是在2016年,我们可以调整最终查询并添加一个UDF 选择JSON=[dbo].[udf Str JSON]0,0, 选择daySeq=A.DD ,dayOfWeek=A.DDD ,from1=IsNullB.TimeFrom,'Closed' ,from2=IsNullB.TimeTo,'Closed' 从反恐执行局 在B.R1和B.R2之间左连接A.DD上的字符B 按1订购 用于XML原始 返回的JSON字符串 UDF如果感兴趣 创建函数[dbo].[udf Str JSON]@IncludeHead int、@ToLowerCase int、@XML 返回varcharmax 像 开始 声明@Head varcharmax=,@JSON varcharmax= ; 将cteEAV设为Select RowNr=按Select NULL排序的行数 ,Entity=xRow.value'@*[1],'varchar100' ,Attribute=xAtt.value'local-name','varchar100' ,Value=xAtt.Value'.',varcharmax' 从@XML.nodes'/row'作为RxRow 交叉应用R.xRow.nodes“/@*”作为AxAtt ,cteSum as Select Records=countDistinct Entity
,头=IIF@IncludeHead=0,iifcount非常感谢约翰。我会在周一尝试这个,并会给你反馈。谢谢你的努力。这看起来很有希望!只是简单介绍一下,我会在这一天给你反馈。我不知道你为什么被否决,但我的问题是它也是。@DasSaffe不是我的第一部dv,也不会是我的最后一部。我只是希望他们有勇气发表评论。-期待你的反馈。从你的截图来看,这似乎正是我想要的——但我很难将其转移到我的案例中。你介意加入聊天吗?如果我能想出如何创建一个?@DasSaffe我从来没有发起过聊天。给我一点时间找到它