假设我有这样一张表:我想,在进行查询的时候,根据testTime的值进行
截取时间,然后判断 小时 如果为18 就进行转换 成2013-04-25 18:00最后查询出来的结果如下所示
Id testTime
1 2013-04-25 18:00
2 2013-04-26 08:22请问sql语句该怎么写?MsSql
截取时间,然后判断 小时 如果为18 就进行转换 成2013-04-25 18:00最后查询出来的结果如下所示
Id testTime
1 2013-04-25 18:00
2 2013-04-26 08:22请问sql语句该怎么写?MsSql
DATEPART(hh, GETDATE());
试试select [id],testTime=(
case when datepart(hh,testTime)=18
then convert(char(13),testTime,120)+':00'
else convert(char(16),testTime,120) end
) from tb
我想进一步实现,当testTime 的 hh <= 8 然后就进一步判断 分是否 <=30
如果是 就返回 2013-04-26 08:30总体实现
Id testTime
1 2013-04-25 18:00
2 2013-04-26 08:30这样的效果!select [id],testTime=(
case
when datepart(hh,testTime) = 18
then convert(char(13),testTime,120)+':00'
when datepart(hh,testTime) <= 8
then
case datepart(MI,testTime) <= 30
then then convert(char(13),testTime,120)+':30'
end
else convert(char(16),testTime,120)
end
)
from test 我这样写,报错 但又不知道错在那
我想进一步实现,当testTime 的 hh <= 8 然后就进一步判断 分是否 <=30
如果是 就返回 2013-04-26 08:30总体实现
Id testTime
1 2013-04-25 18:00
2 2013-04-26 08:30这样的效果!select [id],testTime=(
case
when datepart(hh,testTime) = 18
then convert(char(13),testTime,120)+':00'
when datepart(hh,testTime) <= 8
then
case
when datepart(MI,testTime) <= 30
then convert(char(13),testTime,120)+':30'
end
else convert(char(16),testTime,120)
end
)
from test 我这样写, 但又不知道错在那解决了……呵呵
我想进一步实现,当testTime 的 hh <= 8 然后就进一步判断 分是否 <=30
如果是 就返回 2013-04-26 08:30总体实现
Id testTime
1 2013-04-25 18:00
2 2013-04-26 08:30这样的效果!select [id],testTime=(
case
when datepart(hh,testTime) = 18
then convert(char(13),testTime,120)+':00'
when datepart(hh,testTime) <= 8
then
case
when datepart(MI,testTime) <= 30
then convert(char(13),testTime,120)+':30'
end
else convert(char(16),testTime,120)
end
)
from test 我这样写, 但又不知道错在那解决了……呵呵
自己多写几次就知道了