主题:这段时间取整命令如何写?
fqyd824
[专家分:0] 发布于 2012-04-05 15:52:00
如图,如何将DBF记录中{商品名称}为B的{时间},如08:38:00,取整为08:30:00?命令怎么写,求教![em10][em10]
回复列表 (共5个回复)
沙发
taifu945 [专家分:240] 发布于 2012-04-05 17:03:00
用一句REPLACE命令即可搞定(比较复杂,请多看几遍):
REPLACE 到货时间 WITH LEFT(到货时间,AT(":",到货时间)-1)+IIF(VAL(SUBSTR(到货时间,AT(":",到货时间)+1,AT(":",到货时间,2)-AT(":",到货时间)-1))<30,":00:00",":30:00") FOR 商品名="B"
我估计你到货时间用的是字符型,因为如果是日期时间型的话,不会仅有时间而无日期的。
板凳
sdta [专家分:570] 发布于 2012-04-05 23:54:00
REPLACE ALL 时间 WITH STUFF(时间,5,1,"0") FOR ALLTRIM(商品名称)=="B"
3 楼
taifu945 [专家分:240] 发布于 2012-04-06 11:30:00
如果是14:56:00,执行这句话的结果是啥?变成了14:50:00,而不是14:30:00。另外,如果小时是一位数,且前面没有空格呢("8:40:00")?第5位替换不是把第二个冒号给弄掉了?
我这条语句是通用的,不管小时数是一位还是两位,且对没对准,都能准确地替换掉。
4 楼
sdta [专家分:570] 发布于 2012-04-06 14:26:00
孤芳自赏
5 楼
taifu945 [专家分:240] 发布于 2012-04-07 20:15:00
哈哈,这里果然都是专家。
我来回复