`
silentlakeside
  • 浏览: 109059 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

KDB tips

    博客分类:
  • kdb+
 
阅读更多
  1. 将float转换成symbol: `$string <float_data>
  2. 将symbol转换成float: "F"$string <symbol data>
  3. 更新指定列,如果该列的值的第5个字符是0或者.则截取前4个字符,否则截取前5个字符: update <column name>:`${(5 4 (any "0." in a 4))#a:string x} each <column name> from `<table name>
  4. KDB可以通过update语句将指定列的类型也同时变更,但是要注意,如果包含了where子句,那么就不能变更,因为部分值仍然是原来的类型。我的做法是先用不带where子句的update语句变更类型,再使用where子句变更值,例如:
    update <column name>:`$string <column name> from `<table name>;
    update <column name>:`<symbol data> from `<table name> where <...>;
     不知道有没更好的方法
  5. 处理Symbol中的空格等特殊字符
    正确: dict:`a`b`c!(`a1`a2`a3)
    错误: dict:`a`b`c!(`a1`a2`a3 a4)
    错误: dict:`a`b`c!(`a1`a2`$"a3 a4")
    正确: dict:`a`b`c!`$("a1";"a2";"a3 a4")
    
    q) dict
    (Roundtrip: 031ms)
    (`a`b`c)!`a1`a2`a3 a4
  6. 用分隔符连接两个字段并赋值给另一个字段
    update NEW_COL:"-"sv/: flip (string COL1;string COL2) from `tbl;
  7. 日期转换时区
    d1:2013.06.05T00:00:00.000
    d2:08:00:00.000
    d3:d1+d2
    
    q) d1
    (Roundtrip: 016ms)
    2013.06.05T00:00:00.000
    
    q) d2
    (Roundtrip: 015ms)
    08:00:00.000
    
    q) d3
    (Roundtrip: 015ms)
    2013.06.05T08:00:00.000 
  8. left join (t1需要包含有key1列,1b用于区分是否在t2有对应的数据)
    t1 lj `key1 xkey select key1,1b from t2
  9. 将不补0的时间(时:分:秒)字符串(KDB不能直接将该字符串转换成时间)转换成KDB时间类型
    append0ToTime:{[timeStr]
        sections:":" vs timeStr;
        sectionCount:count sections;
        index:0;
        do [sectionCount;
            sections[index]:"" sv ("00";sections[index]);
            sections[index]:-2#sections[index];
            index:index+1];
        "V"$":" sv sections
    };
    
    result:append0ToTime["9:21:3"];
    
    q) result
    (Roundtrip: 156ms)
    09:21:03
  10. 判断文件是否存在(Key是关键字,()代表一个空的list,~是匹配)
    () ~ key `:c:/q/sp.q 
  11. 给一个字段赋值(字符)
    update col:count[i]#enlist "abc" from `table 
  12. 读取csv文件
    // load csv with header line
    data:("ISS";enlist ",") 0: `:/tmp/data.csv;
    
    // ignore the header line
    data:1_filp `ID`Name`Description!("ISS";",") 0: `:/tmp/data.csv; 
  13. 获取字符型字段、值为空的行
    select from table where 0=type each column
    
     
分享到:
评论

相关推荐

    KDB调试手册-kdb

    详细介绍kdb调试命令和使用方法,KDB调试完全手册 详细介绍kdb调试命令和使用方法,KDB调试完全手册 详细介绍kdb调试命令和使用方法,KDB调试完全手册 详细介绍kdb调试命令和使用方法,KDB调试完全手册 详细介绍...

    linux下调试工具kdb 安装包

    KDB(Kernel Debugging Toolkit)是一个强大的内核调试工具,它允许开发者直接在内核级别进行调试,这对于理解和解决系统级问题非常有用。本文将详细介绍如何在SUSE系统上安装KDB V4.4版本。 首先,了解KDB的基本...

    q_and_kdb+.pdf

    ### Q_and_kdb+: 金融量化编程语言 #### 核心知识点概述 1. **Q 和 kdb+ 的背景与特点** - **Q 语言**:一种高性能、专为金融量化交易设计的语言。 - **kdb+**:一个高速时间序列数据库管理系统,能够高效处理...

    kdb-master.zip

    《深入解析Kdb+技术:基于kdb-master.zip的探索》 Kdb+,全称为Query Database Plus,是由Kx Systems公司开发的一款高性能、实时、内存数据库系统,尤其在金融领域有着广泛的应用。当我们提到“kdb-master.zip”时...

    KDB内核调试手册

    ### KDB内核调试手册详解 #### 一、KDB内核调试介绍 KDB,全称为Kernel Debugger,是Linux内核自带的调试工具,它为深入理解和解决内核级问题提供了一种强大的手段。与普通的应用程序调试不同,内核调试涉及到更...

    linux下调试工具kdb

    Linux下的调试工具kdb是系统管理员和开发者的重要武器,它提供了对内核的直接交互能力,使得深入理解和解决操作系统层面的问题变得可能。本篇将详细阐述kdb的安装过程、基本命令以及高级技巧。 首先,**安装kdb**...

    Linux内核调试工具kdb.pdf

    "Linux内核调试工具kdb" kdb是Linux系统的内核调试器,由SGI公司开发,遵循GPL许可证的开源代码调试工具。kdb主要用于调试Linux内核空间的程序代码,例如设备驱动程序的调试、内核模块的调试等。kdb支持包括x86、IA...

    内核调试器kdb代码分析

    ### 内核调试器kdb代码分析 #### 一、kdb概述 kdb,全称为Kernel Debugger,是一款由SGI公司开发的开源内核调试工具。它主要用于Linux内核空间程序代码的调试,例如设备驱动程序调试以及内核模块的调试等。尽管...

    FCC常用的一些KDB

    "FCC常用的一些KDB"这个主题涉及到的是FCC提供的一系列知识数据库(Knowledge Database,简称KDB),这些数据库包含了关于WiFi(DTS,可能是Device Test Specification的缩写)和蓝牙(Bluetooth)设备在FCC规定下的...

    linux3.0kdb移植ID的文件

    在Linux操作系统中,`kdb`(Kernel Debugger)是一个强大的内核调试工具,它允许开发者在内核级别进行调试,从而深入理解系统行为并解决复杂问题。`kdb`是Linux内核的一部分,通常用于内核开发、性能优化以及故障...

    jks文件到kdb格式

    SSL证书的转换涉及到不同类型的密钥库文件,如jks和kdb,它们在不同的环境中有不同的用途。在本文中,我们将深入探讨如何将jks文件转换为kdb格式,这通常是为了适应IBM HTTP Server的SSL配置。 首先,jks是Java Key...

    kdb+tick 文档

    kdb+tick 文档 基于q语言的 内存数据库, 支持billion级的数据秒级查询

    宽带宝固件KDB-MIWIFI-1.00.0214

    【宽带宝固件KDB-MIWIFI-1.00.0214】是一款针对特定型号宽带设备的固件升级文件,它包含了路由器的操作系统、驱动程序、配置工具和其他必要的软件组件。固件更新是改善设备性能、修复已知问题、增强安全性和添加新...

    Using kgdb, kdb and the kernel debugger internals

    The kernel has two different debugger front ends (kdb and kgdb) which interface to the debug core. It is possible to use either of the debugger front ends and dynamically transition between them if ...

    KDB10A KDB10A

    【KDB10A KDB10A】是一款专门用于化学需氧量(CODcr)、总磷(TP)、总氮(TN)等水质指标消解测定的微波消解仪。该仪器具备多项显著特点: 1. **密封消解与超压保护**:设备采用密封消解方式,能够确保安全,当...

    kdb内核调试文档等

    本压缩包文件包含了关于KDB的安装指南、常用命令介绍以及高级调试技巧的相关文档,对于学习和掌握KDB的使用具有很高的参考价值。 1. **KDB简介** KDB是一个集成在Linux内核中的交互式调试器,它允许用户在内核运行...

    宽带宝固件KDB-RT-AC66U-1.00.0214

    【标题】"宽带宝固件KDB-RT-AC66U-1.00.0214"指的是一个特定版本的路由器固件,专为宽带宝(可能是一款网络设备品牌)的RT-AC66U型号设计。固件是控制路由器硬件运行的软件,它包含了操作系统、网络协议栈、安全功能...

    kdb1.2.1 繁體優化版

    【kdb1.2.1 繁體優化版】是针对中文用户进行优化的一款软件版本,尤其适合那些偏好繁体中文界面的用户。Kdb通常指的是一个数据库管理系统,可能是键值对数据库或者关系型数据库,其1.2.1版本在此基础上进行了本地化...

    KDB101操作手册

    KDB101操作手册涵盖了对Kineis KDB101直流伺服驱动器的操作与维护指南,手册详细介绍了该产品的安全信息、总体介绍、PC软件操作、独立操作、软件参考以及附录等部分。 首先,操作手册的第1章安全章节,强调了在使用...

Global site tag (gtag.js) - Google Analytics