回 帖 发 新 帖 刷新版面

主题:这段时间取整命令如何写?

如图,如何将DBF记录中{商品名称}为B的{时间},如08:38:00,取整为08:30:00?命令怎么写,求教![em10][em10]

回复列表 (共5个回复)

沙发

用一句REPLACE命令即可搞定(比较复杂,请多看几遍):

REPLACE 到货时间 WITH LEFT(到货时间,AT(":",到货时间)-1)+IIF(VAL(SUBSTR(到货时间,AT(":",到货时间)+1,AT(":",到货时间,2)-AT(":",到货时间)-1))<30,":00:00",":30:00") FOR 商品名="B"

我估计你到货时间用的是字符型,因为如果是日期时间型的话,不会仅有时间而无日期的。

板凳


REPLACE ALL 时间 WITH STUFF(时间,5,1,"0") FOR ALLTRIM(商品名称)=="B"

3 楼


如果是14:56:00,执行这句话的结果是啥?变成了14:50:00,而不是14:30:00。另外,如果小时是一位数,且前面没有空格呢("8:40:00")?第5位替换不是把第二个冒号给弄掉了?

我这条语句是通用的,不管小时数是一位还是两位,且对没对准,都能准确地替换掉。

4 楼

孤芳自赏

5 楼

哈哈,这里果然都是专家。

我来回复

您尚未登录,请登录后再回复。点此登录或注册