声明:本系列文章全部参考自官方教程,由于缺乏中文资料而且本人E文实在太菜,对于E文较好的朋友可以直接通过下面的链接访问官方网站提供的教程,
欢迎大家一起学习讨论。
hhttps://code.kx.com/trac/wiki/QforMortals2/contents
用户名跟密码为anonymous

Q语言跟C#、JAVA还有SQL基本数据类型的比较

Q SQL Java C#
boolean boolean Boolean Boolean
byte byte Byte Byte
short smallint Short Int16
int int Integer Int32
long bigint Long Int64
real real Float Single
float float Double Double
char char(1) Character Char
symbol varchar (String) (String)
date date Date  
datetime datetime Timestamp !DateTime
minute      
second      
time time Time !TimeSpan
enumeration      


各种数据类型的信息

type size char type num type notation null value
boolean 1 b 1 1b 0b
byte 1 x 4 0x26 0x00
short 2 h 5 42h 0Nh
int 4 i 6 42 0N
long 8 j 7 42j 0Nj
real 4 e 8 4.2e 0Ne
float 8 f 9 4.2 0n
char 1 c 10 "z" " "
symbol * s 11 ‘zaphod `
month 4 m 13 2006.07m 0Nm
date 4 d 14 2006.07.21 0Nd
datetime 4 z 15 2006.07.21T09:13:39 0Nz
minute 4 u 17 23:59 0Nu
second 4 v 18 23:59:59 0Nv
time 4 t 19 09:01:02:042 0Nt
enumeration     * `u$v  
dictionary     99 `a`b`c!!10 20 30  
table     98 ([] c1:ab`c; c2:10 20 30)  

 

下面继续针对各种数据类型的讲解:
1.       整数数据(Integer Data)
    整数类型跟其它编程语言的描述基本相同。

int
    int占用4个字节的内存空间,存储了一个整型的数字。

short
    short 占用两个字节的内存空间,只能存储一个较小的整数,以”h”结尾。

e.g.
q)b:-123h
q)b
-123h

long
    long 占用了8个字节的内存空间,可以容纳较大的整数,以”f”结尾。

e.g.
q)c:1234567890j
q)c
1234567890j 

2.       浮点数据(Floating Point Data)
支持科学记数法。

float
        可以保证至少15位小数的的精度,以”f”结尾。相当于JAVA或C#里面的double

real
        可以保证至少6位小数的的精度,以”e”结尾。相当于JAVA或C#里面的float

3.       二进制数据(Binary Data)

boolean
        当条件为真是,值为1b, 当条件为假时,值为0b

e.g.
q)1=1
1b
q)1=0
0b

byte

4.       字符数据(Char Data)

char
    表示一个字符使用的是引号。

e.g.
q)ch:”q”
q)ch
“q”

还可以使用”\”做为转义字符,这跟C#和JAVA是一样的。

q)ch:"\""                        / double-quote
q)ch                             / console also displays the escape "\"" 
q)ch:"\\"                        / back-slash
q)ch:"\n"                        / newline
q)ch:"\r"                        / return
q)ch:"\t"                        / horizontal tab

5.       symbol
symbol是由”`”符号开头的一串字符,但symbol并不等同于字符串。
那么如何才能让一个symbol包含空格等特殊符号呢?答案就是通过字符串,下面的例子并说明:

e.g.
q)`$"A symbol with `backtick"
`A symbol with `backtick

6.       时间类型

date
       date类型的值的定义格式应该为yyyy.mm.dd,月份跟日期不够两位数需要在前面加0

e.g.
q)d:2008.07.03
q)d
2008.07.03 

还可以通过d.year, d.mm, d.dd 获取到年、月跟日期,d.month可以得到month的对象。

time
       time 类型的值的定义格式应该为hh:mm:ss.uu,同样需要补0的地方还是要补上

e.g.
q)t:16:30.000
q)t
16:30.000

可以通过t.hh, t.mm, t.ss 获取到小时、分钟跟秒,t.minute 跟 t.second 得取到minute跟second的对象。

datetime
        datetime 的格式是由date跟time中间通过“T”隔开的标准格式

e.g.
q)dt:2006.07.04T09:04:59:000
q)dt
2006.07.04T09:04:59:000 

Datetime具备了date跟time所有的属性外还可以通过dt.date跟dt.time得到date跟time的对象。

month
        month 的格式为yyyy.mm,而且需要在末尾追回一个字符“m”

e.g.
q) mon:2006.07m
q)mon
2006.07m

minute
        minute 的格式为hh:mm

second
        second 的格式为 hh:mm:ss

7.       无穷大 跟 非数字 类型(Infinities and NaN)
下表列出了各种类型的无穷大的表示法:

Token Value
0w Positive float infinity
-0w Negative float infinity
0W Positive int infinity
-0W Negative int infinity
0Wh Positive short infinity
-0Wh Negative short infinity
0Wj Positive long infinity
-0Wj Negative long infinity
0Wd Positive date infinity
-0Wd Negative date infinity
0Wt Positive time infinity
-0Wt Negative time infinity
0Wz Positive datetime infinity
-0Wz Negative datetime infinity
0n NaN, or not a number

8.       空值类型(Null Values)
下表列出了各种类型的空值表示法:

type null
boolean 0b
byte 0x00
short 0Nh
int 0N
long 0Nj
real 0Ne
float 0n
char " "
sym `
month 0Nm
date 0Nd
datetime 0Nz
minute 0Nu
second 0Nv
time 0Nt

Q 语言初学者系列:(2)基本数据类型相关推荐

  1. C语言入门系列一之C语言介绍、环境配置和运行执行

    鉴于书本和教材文字过多.又难懂的缺点,所以我打算写一系列通俗移动的C语言入门教程,让大家在短时间内学习和掌握C语言,以及遇到C语言的一些问题该如何得到快速的解决.希望这些系列的教程,能够帮助到大家!该 ...

  2. c语言程序计算p q真值表,C语言程序设计第2章数据类型﹒运算符和表达式.ppt

    C语言程序设计第2章数据类型﹒运算符和表达式 教学目标 掌握C语言标识符的组成 理解C语言的基本数据类型 掌握变量定义的方法 掌握常用的运算符的使用 掌握混合运算的数据转换方法 2.1 C语言的数据类 ...

  3. c语言中数组名可以与其他变量名相同,C语言初学者入门讲座 第九讲 数组(1)...

    C语言初学者入门讲座 第九讲 数组(1) (2007-01-17 11:39:19) 数组在程序设计中,为了处理方便,把具有相同类型的若干变量按有序的形式组织起来.这些按序排列的同类数据元素的集合称为 ...

  4. C语言初学者代码中的常见错误与瑕疵(9)

    题目 字母的个数 现在给你一个由小写字母组成字符串,要你找出字符串中出现次数最多的字母,如果出现次数最多字母有多个那么输出最小的那个. 输入:第一行输入一个正整数T(0<T<25) 随后T ...

  5. c语言switch循环语序,C语言初学者常见错误统计.doc

    C语言初学者常见错误统计.doc C语言初学者常见错误统计 被偏爱程度触犯人次错误类型 ★★★★17使用未定义的变量★★★★16变量值溢出★★★9一行C语句后面漏掉:★★★8语序颠倒★★★6混淆字符常 ...

  6. ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误

    ElasticSearch 2 (26) - 语言处理系列之打字或拼写错误 摘要 我们喜欢在对结构化数据(如:日期和价格)做查询时,结果只返回那些能精确匹配的文档.但是,好的全文搜索不应该有这样的限制 ...

  7. 设计模式初学者系列-策略模式 -------为什么总是继承

    设计模式初学者系列-策略模式                                                 -------为什么总是继承 模板方法的延续 这篇稿子是基于我的前一篇模板 ...

  8. Go语言自学系列 | golang标准库bufio

    视频来源:B站<golang入门到项目实战 [2021最新Go语言教程,没有废话,纯干货!持续更新中...]> 一边学习一边整理老师的课程内容及试验笔记,并与大家分享,侵权即删,谢谢支持! ...

  9. c语言一个数中是否含有8,要心中有“数”——C语言初学者代码中的常见错误与瑕疵(8)...

    在 飞鸟_Asuka网友指出"是不是时间复杂度比较大",并说他"第一眼看到我就想把它当成一个数学问题来做"之后,我又重新对问题进行了数学式的思考后发现的. 这个 ...

  10. 为什么c语言加法错误,分数的加减法——C语言初学者代码中的常见错误与瑕疵(12)...

    重构 题目的修正 我抛弃了原题中"其中a, b, c, d是一个0-9的整数"这样的前提条件,因为这种限制毫无必要.只假设a, b, c, d是十进制整数形式的字符序列. 我也不清 ...

最新文章

  1. 生产环境一个like模糊匹配SQL优化
  2. 妙用 background 实现花式文字效果
  3. python-scrapy爬虫框架
  4. 计算机策划知识竞赛有创意的主题,【社团活动】首届创意·科技文化节--第八届计算机趣味知识竞赛决赛...
  5. 我们找了3家制造企业,问问他们是怎么破解供应链难题的
  6. Hibernate之事务处理
  7. vue 运行报错Module build failed: Error: Node Sass does not yet support your current environment: Windows
  8. pycharm shortcuts
  9. 计算机科学与技术专业职业素养,商丘工学院计算机科学与技术专业
  10. 文件的长度,跟FileReader读到的长度,不一样
  11. Matlab的基本语法
  12. php论坛首页一般是什么,bbs是什么
  13. nodejs爬虫淘宝详情图
  14. 基于Pytorch的强化学习(DQN)之 REINFORCE with baseline
  15. 《MySQL 入门教程》第 06 篇 备份与恢复
  16. QDAS转换器中间XML格式说明文档
  17. Android应用开发病虫害识别,基于Android平台的枣虫害识别系统的设计与实现
  18. 3D模型文件--STL,OBJ,3DS
  19. Django部署 阿里云CentOS 8+Nginx+uWsgi
  20. maven打包文件过大优化

热门文章

  1. tcp流式传输_收听互联网广播以及下载和流式传输免费音乐的最佳网站
  2. 号称有效期至2017年的 ESET Nod32 “付费”许可证,只要能用一年就行了
  3. TCP/IP常见攻击手段
  4. PHP fuser,打印机提示 50.1 fuser error 这样的错误,无法正常打印?
  5. python写入文件报错解决方法
  6. Mixly米思齐——超声波测距控制LED灯
  7. 小程序源码:最新掌上题库微信小程序源码下载,修复登录接口,支持在线考试,自定义导入考题
  8. 功能测试用例设计方法分享
  9. J2Cache简单使用
  10. kms地址大全_kms激活服务器地址(常用)和自己搭建KMS服务器教程