如何在kdb+/q中将表的Date列转换为标准日期格式
在kdb+/q中转换字符串日期为标准日期格式
针对你的需求——将字符串类型的Date列(格式如16/8/2022)转换为kdb+/q标准日期格式2022.08.16,以下是两种实用方法:
方法1:转换为kdb原生date类型(推荐)
kdb的原生date类型存储效率更高,且支持日期运算,是首选方案。利用格式化解析符"d/M/y"匹配你的输入格式,通过$函数完成转换:
假设输入表为:
ydata:([] Date:("16/8/2022";"31/12/2023";"1/1/2024"))
执行转换:
ydata:update Date:"d/M/y"$Date from ydata
转换后,Date列的类型变为date,显示时自动呈现为2022.08.16这种标准格式。你可以用meta ydata验证列类型:
meta ydata // 输出示例:c| t f a // ----- // Date| d
方法2:保留字符串格式的转换
如果仅需将字符串格式从日/月/年改为年.月.日(不转换为原生date类型),可以先解析为date类型再转回字符串:
ydata:update Date:string["d/M/y"$Date] from ydata
转换后Date列仍为字符串类型,值为"2022.08.16"。
内容的提问来源于stack exchange,提问作者Dhanuushri
相关产品推荐
相关产品推荐

