0D 类型和 n?0D 随机数
0D type and n?0D randoms
在A brief introduction to q and kdb+中有几个地方可以使用0D00:01
这样的代码创建时间记录。
甚至使用语法的随机时间生成技术:
n?0D0
fcn?0D00:00:20
我发现 0D
仅在 q4m3 2.5.2 Time Types 中提到是可选的。
code.kx 上是否有任何对此语法的引用?还有其他有用的 date/time 随机生成器吗?我检查了大写字母,- 似乎 0D
是唯一的,请参阅:q)@[value;;::] each ("0",/:.Q.A)
首先请注意,0D...
语法并非特定于 rand 运算符。前缀 0D
当文字 kdb 的类型在没有它的情况下推断出与您预期的不同时,就需要前缀。例如:
q)type 08:09:10.123 / time
-19h
q)type 0D08:09:10.123 / timespan
-16h
当可以明确推断类型时,前缀是可选的;在时间跨度文字的情况下,使用 hh:mm:ss.nnnnnnnnn
表示法时,在点后提供超过 4 位数字就足够了:
q)type 08:09:10.123 / time
-19h
q)type 08:09:10.1234 / still time
-19h
q)type 08:09:10.12345 / timespan
-16h
当您需要一个时间跨度值但又不想将所有细节指定到纳秒级时,0D
表示法非常方便。我想你会同意 0D00:01
(1 分钟)比 00:01:00.000000000
.
更容易打字和阅读
回到你的问题,0D0
只是一个零值时间跨度,与00:00:00.00000000
相同。但是,?
将其视为通过了 1D0
(或 0D24:00:00.000000000
)。我没有在 code.kx.com 上的任何地方看到它的记录,但如果您考虑一下,您会同意生成 [0; 范围内的时间跨度。 24h) 是一个很常见的例子,它绝对值得一个捷径。好了!
在A brief introduction to q and kdb+中有几个地方可以使用0D00:01
这样的代码创建时间记录。
甚至使用语法的随机时间生成技术:
n?0D0
fcn?0D00:00:20
我发现 0D
仅在 q4m3 2.5.2 Time Types 中提到是可选的。
code.kx 上是否有任何对此语法的引用?还有其他有用的 date/time 随机生成器吗?我检查了大写字母,- 似乎 0D
是唯一的,请参阅:q)@[value;;::] each ("0",/:.Q.A)
首先请注意,0D...
语法并非特定于 rand 运算符。前缀 0D
当文字 kdb 的类型在没有它的情况下推断出与您预期的不同时,就需要前缀。例如:
q)type 08:09:10.123 / time
-19h
q)type 0D08:09:10.123 / timespan
-16h
当可以明确推断类型时,前缀是可选的;在时间跨度文字的情况下,使用 hh:mm:ss.nnnnnnnnn
表示法时,在点后提供超过 4 位数字就足够了:
q)type 08:09:10.123 / time
-19h
q)type 08:09:10.1234 / still time
-19h
q)type 08:09:10.12345 / timespan
-16h
当您需要一个时间跨度值但又不想将所有细节指定到纳秒级时,0D
表示法非常方便。我想你会同意 0D00:01
(1 分钟)比 00:01:00.000000000
.
回到你的问题,0D0
只是一个零值时间跨度,与00:00:00.00000000
相同。但是,?
将其视为通过了 1D0
(或 0D24:00:00.000000000
)。我没有在 code.kx.com 上的任何地方看到它的记录,但如果您考虑一下,您会同意生成 [0; 范围内的时间跨度。 24h) 是一个很常见的例子,它绝对值得一个捷径。好了!