q中字符串变换的极限,TOK中的星形

  • 本文关键字:TOK 极限 变换 字符串 kdb k
  • 更新时间 :
  • 英文 :


我正在尝试将int值转换为分钟,在某些情况下,它会在结果中给我星号*

string "U"$"99:59" / "99:59"
string "U"$"100:00" / "**:00"

这些恒星出现的规则是什么?

更新秒数:

string "V"$"1000" / "10:00:00"
string "V"$"10000" / "**:00:00"
string "V"$"100000" / "10:00:00"
string "V"$"1000000" / "**:00:00"

是否可以配置此规则,例如停止弄脏原始值?

我认为出现的星星只是kdb表示结果无法显示的方式。分钟和秒数据类型的格式分别为hh:mm和hh:mm:ss。因此,如果kdb将小时部分读取为超过3位数字(即大于99(,恒星就会出现。

如果您将字符串转换为minute数据类型,那么kdb将最后两个字符转换为minutes,其余字符转换为hours,例如

"U"$"1234" / 12:34
"U"$"12345" / **:45

将字符串转换为秒时也会发生类似的情况。如果字符串的长度大于等于6,则最后两个字符将转换为秒。否则,秒设置为00。然后将字符串的其余部分转换为hh:mm,如上所述。为了说明这一点,请查看:

"V"$"1234" / 12:34:00
"V"$"12345" / **:45:00
"V"$"123456" / 12:34:56
"V"$"1123456" / **:34:56

我还应该注意到,即使出现了恒星,你仍然可以像往常一样做时间算术之类的事情,例如

"U"$"100:00 / **:00
("U"$"100:00")-"U"$"1:00" / 99:00

最新更新