Bladeren bron

match time value

wecisecode 1 week geleden
bovenliggende
commit
a36e59fd82
2 gewijzigde bestanden met toevoegingen van 9 en 6 verwijderingen
  1. 5 5
      odbctest/mql/0/0.mql
  2. 4 1
      odbctest/odbcmql/mqls_match.go

+ 5 - 5
odbctest/mql/0/0.mql

@@ -2,12 +2,12 @@
 
 
 
-insert into /mix/mtx (xvarchar, xint, xbigint, xdouble, xtext, xmap, xlist, xset)
-values (?,?,?,?,?,?,?,?)
+SELECT
+	 name, vtime
+FROM /matrix/filesystem where name='variables.png'
 /**
-loop(10)
-params("x{%d,mqli}x",{%d,mqli},{%d,mqli}{%08d,mqli},{%d,mqli}.{%08d,mqli},"z{%d,mqli}.{%08d,mqli}z",{"v":"{%d,mqli}.{%08d,mqli}"},["{%d,mqli}.{%08d,mqli}"],["{%d,mqli}.{%08d,mqli}"])
+output()
+match(vtime,"2026-04-07T18:53:23.871+08:00")
 **/
 ;
 
-

+ 4 - 1
odbctest/odbcmql/mqls_match.go

@@ -4,6 +4,7 @@ import (
 	"fmt"
 	"regexp"
 	"strings"
+	"time"
 
 	odb "git.wecise.com/wecise/odb-go/odb"
 	"gitee.com/wecisecode/util/cast"
@@ -113,7 +114,7 @@ func matchvalue(matcher any, matchingvalue any) (bool, string) {
 		}
 	case string:
 		sv := ""
-		switch matchingvalue.(type) {
+		switch v := matchingvalue.(type) {
 		case int, uint, int8, uint8, int16, uint16, int32, uint32, int64, uint64, bool:
 			sv = fmt.Sprintf("%v", matchingvalue)
 		case float32, float64:
@@ -122,6 +123,8 @@ func matchvalue(matcher any, matchingvalue any) (bool, string) {
 			if len(fvrange) > 1 {
 				return sv >= fvrange[0] && sv <= fvrange[len(fvrange)-1], sv
 			}
+		case time.Time:
+			sv = fmt.Sprintf("%#v", v.Format("2006-01-02T15:04:05.000-07:00"))
 		default:
 			sv = fmt.Sprintf("%#v", matchingvalue)
 		}