Kdb 0D类型和n?0D随机数

Kdb 0D类型和n?0D随机数,kdb,k,Kdb,K,在一些地方,可以创建代码为0D00:01的时间记录 甚至使用语法的随机时间生成技术: n?0D0 fcn?0D00:00:20 我发现只有q4m3中提到的0D是可选的 code.kx上是否有此语法的引用?是否存在其他有用的日期/时间随机生成器?我检查了大写字母,-似乎0D是唯一的一个,请参见:q)@[value;;:]每个(“0”,/:.q.A)首先让我注意,0D…语法不是特定于兰德运算符的。当一种文字kdb类型在没有它的情况下推断与您预期的不同时,需要前缀0D。例如: q)type 08:0

在一些地方,可以创建代码为
0D00:01
的时间记录

甚至使用语法的随机时间生成技术:

n?0D0
fcn?0D00:00:20
我发现只有q4m3中提到的
0D
是可选的


code.kx上是否有此语法的引用?是否存在其他有用的日期/时间随机生成器?我检查了大写字母,-似乎
0D
是唯一的一个,请参见:
q)@[value;;:]每个(“0”,/:.q.A)
首先让我注意,
0D…
语法不是特定于兰德运算符的。当一种文字kdb类型在没有它的情况下推断与您预期的不同时,需要前缀
0D
。例如:

q)type 08:09:10.123 / time
-19h
q)type 0D08:09:10.123 / timespan
-16h
当类型可以明确推断时,前缀是可选的;对于时间跨度文字,使用
hh:mm:ss.nnnnn
表示法时,在点后提供超过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
当您需要timespan值,但又不想将所有细节指定到纳秒时,
0D
表示法非常方便。我想你会同意,
0D00:01
(1分钟)比
00:01:00.000000000
更容易打字和阅读


回到您的问题,
0D0
只是一个零值时间跨度,与
00:00:00.00000000
相同。但是,
将其视为传递了
1D0
(或
0D24:00:00.000000000
)。我没有在code.kx.com上看到它的文档,但是如果你仔细想想,你会同意在这个范围内生成一个时间跨度[0;24h)是一种非常常见的情况,它绝对应该有一个快捷方式。你已经有了它!

首先让我注意,
0D…
语法并不是特定于兰德运算符的。当一种文本kdb在没有它的情况下推断出的结果与你想要的不同时,需要前缀
0D
。例如:

q)type 08:09:10.123 / time
-19h
q)type 0D08:09:10.123 / timespan
-16h
当类型可以明确推断时,前缀是可选的;对于timespan文字,在使用
hh:mm:ss.nnnnn
表示法时,在点后提供超过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;24小时]范围内的时间跨度是一种常见的情况,因此它绝对应该有一个快捷方式。这就是您的快捷方式