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

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

转自:http://blog.csdn.net/kraussyin/article/details/47036343
Q语言跟C#、Java还有SQL基本数据类型的比较

QSQLJavaC#
booleanbooleanBooleanBoolean
bytebyteByteByte
shortsmallintShortInt16
intintIntegerInt32
longbigintLongInt64
realrealFloatSingle
floatfloatDoubleDouble
charchar(1)CharacterChar
symbolvarchar(String)(String)
datedateDate 
datetimedatetimeTimestamp!DateTime
minute   
second   
timetimeTime!TimeSpan
enumeration   


各种数据类型的信息

typesizechar typenum typenotationnull value
boolean1b11b0b
byte1x40x260x00
short2h542h0Nh
int4i6420N
long8j742j0Nj
real4e84.2e0Ne
float8f94.20n
char1c10"z"" "
symbol*s11‘zaphod`
month4m132006.07m0Nm
date4d142006.07.210Nd
datetime4z152006.07.21T09:13:390Nz
minute4u1723:590Nu
second4v1823:59:590Nv
time4t1909:01:02:0420Nt
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”结尾。相当于JAVAC#里面的double

            real
        可以保证至少6位小数的的精度,以”e”结尾。相当于JAVAC#里面的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 的格式是由datetime中间通过“T”隔开的标准格式

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

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

            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)
下表列出了各种类型的无穷大的表示法:

TokenValue
0wPositive float infinity
-0wNegative float infinity
0WPositive int infinity
-0WNegative int infinity
0WhPositive short infinity
-0WhNegative short infinity
0WjPositive long infinity
-0WjNegative long infinity
0WdPositive date infinity
-0WdNegative date infinity
0WtPositive time infinity
-0WtNegative time infinity
0WzPositive datetime infinity
-0WzNegative datetime infinity
0nNaN, or not a number

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

typenull
boolean0b
byte0x00
short0Nh
int0N
long0Nj
real0Ne
float0n
char" "
sym`
month0Nm
date0Nd
datetime0Nz
minute0Nu
second0Nv
time0Nt

 
0

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/352335.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Megacli恢复RAID0磁盘数据

今天干了一件蠢事,距离删库跑路,只差一步。把一块RAID0的磁盘给拔掉了,拔掉之后发现这是一块数据盘,幸好这个数据库是一台备库。赶紧动手恢复,以下是恢复的过程。 首先把拔下来的盘插回去,通过Megacli查看状态是这样的…

内核堆栈 用户堆栈_堆栈痕迹从何而来?

内核堆栈 用户堆栈我相信,阅读和理解堆栈跟踪是每个程序员都必须具备的一项基本技能,以便有效地解决每种JVM语言的问题(另请参阅: 过滤日志中无关的堆栈跟踪行和首先记录引起根的异常 )。 那么我们可以从一个小测验开始…

Java中使用log4j记录日志

在项目开发中,记录错误日志是一个很有必要功能。一是方便调试;二是便于发现系统运行过程中的错误;三是存储业务数据,便于后期分析; 在java中,记录日志,有很多种方式。 比如,自己实…

python如何输出两列数据_如何用python将一列数据分为两列?

引用来自“Ashkandi”的评论[{date: c[:10], time: c[11:]} for c in Col] 引用来自“vx2008”的评论 谢谢回复,这行代码执行完了以后,日期和时间都村到哪里了呢? 我是了一下,调用date,提示没有定义date,请…

Q 语言初学者系列:(3)Lists 初级

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

数据库图书管理建表与修改表

根据调研选定实体及相应属性画出E-R图 ​ 2、将E-R模型转换为对应关系模型,并指出主码和外码 图书book(书号,类别,出版社,作者,书名,定价,备注); 读者reade…

如何指南:Apache Drill入门

Apache Drill是一种引擎,可以连接到许多不同的数据源,并为它们提供SQL接口。 它不仅是想跳入任何复杂事物的SQL接口,而且是一个功能强大的接口, 其中包括对许多内置函数和窗口函数的支持。 尽管它可以连接到您仍然可以使用SQL查询…

python3编程入门_在类Unix系统上开始Python3编程入门

>>> s Hello >>> x len(s) >>> print("The length of %s is %d" % (s,x)) The length of Hello is 5 看看《Python基础编程》中对格式化输出的总结: (1). %字符:标记转换说明符的开始 (2). 转换标志:-…

visual studio 调试时提示 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。

问题描述 “Win32Project3.exe”(Win32): 已加载“D:\software\VS2013\VS2013 文档\Win32Project3\Debug\Win32Project3.exe”。已加载符号。 “Win32Project3.exe”(Win32): 已加载“C:\Windows\SysWOW64\ntdll.dll”。无法查找或打开 PDB 文件。 “Win32Project3.exe”(Wi…

matlab的一个疑问?

把逻辑值放入一个已知矩阵,为啥结果是:真就取矩阵的值,假就不取值? K>> aaaarandi(10,10,2) aaaa 6 3 10 4 6 7 5 2 6 3 8 2 1 2 9 4 2 9 5 5 K>> aaaa9 ans 102 logical array 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 …

如何使用log4j记录日志

【1】从零开始 a). 新建Java Project>>新建package>>新建java类; b). import jar包(一个就够),这里我用的是log4j-1.2.14.jar, c). 新建log4j.properties,置于project根目录下; log…

python验证码 识别代码不准_谈谈Python进行验证码识别的一些想法

用python加“验证码”为关键词在baidu里搜一下,可以找到很多关于验证码识别的文章。我大体看了一下,主要方法有几类:一类是通过对图片进行处理,然后利用字库特征匹配的方法,一类是图片处理后建立字符对应字典&#xff…

matlab 安装jdbc.jar

加到matlab的启动项下面。 方法如下:找到matlab的安装路径,如下: 有一个classpath的txt文件,打开,在末尾添加jdbc的jar包路径即可,如下: 或者,直接在matlab 上用以下命令&#xff0…

MyEclipse软件中快捷键

在调试程序的时候,我们经常需要注释一些代码,在用Myeclipse编程时,就可以用 Ctrl/ 为选中的一段代码加上以 // 打头的注释;当需要恢复代码功能的时候,又可以用Ctrl/ 去掉注释。这样的快捷键确实让我们编程变得容易多了…

python3:(unicode error) 'utf-8' codec can't decode

操作系统:win7 旗舰版 语言:python3.4 文本编辑器:vim、notepad 报错:SyntaxError: (unicode error) utf-8 codec cant decode byte 0xb4 in position 0:invalid start byte 基本知识:在python中默认的编码格式是 utf-…

传统的Web应用程序和RESTful API

如今,当我们构建Web应用程序时,将所有功能公开为RESTful API,然后自己使用它是一种最佳实践。 这通常与使用繁重的javascript的丰富前端配合使用,例如Angular / Ember / Backbone / React。 但是沉重的前端似乎不是一个很好的默认…

c语言怎样获得函数内参数的值_C语言可变参数函数的实现原理

在本人的《C语言可变参数函数的实现方法》一文中,介绍了如何建立自己的可变参数函数。下面继续介绍可变参数函数的实现原理。在汇编语言程序设计中,详细介绍了子程序的实现思想:(1)子程序只是一段代码的起始地址;(2)调用子程序之前…

Log4j使用详解(log4j.XML格式)——整理

log4j.xml配置详解(原文地址) 首先当然是得到log4j的jar档,推荐使用1.2.X版,下载地址: http://logging.apache.org/log4j/1.2/download.html xml格式的log4j配置文件概述 xml格式的log4j配置文件需要使用org.apache…

SAS

options nosource; * 抑制SAS语句日志;options nosource2; * 抑制宏到日志文件的打印;options notes; * 抑制所有消息记录;你也可以三个一起用,如下:options nosource nosource2 notes; 下面的是连错误都不打印 option nonotes nomprint nosource nos…

[Swift]LeetCode39. 组合总和 | Combination Sum

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址&a…