dbaccess databaseName
dbaccess databaseName sqlExample.sql
数据导出 :
unload to "fileName.txt"
select columnsName1,columnsName2,...,columnsNames from tableName
数字
integer #整形
smallint #短整型
bigint #长整型
serial #自增,4字节
serial8 #自增,8字节
bigserial #自增,8字节
decimal(p,s) #金融领域专用,p是有效位,s是小数点,比如decimal(4,2),表示总位数是4,小数点保留2,如果输入222.22,那么结果就是22.22
float #浮点型,双精度,8字节,16位十进制有效位
smallfloat #浮点型,单精度,4字节,8位十进制有效位
money(p,s) #与decimal完全相同,但是显示金额的时候会显示金钱类型,默认$
时间
date #日期类型
datetime #时间类型,常用year to second,表示从年开始,精确到秒
interval #表示两个时间点之间的间隔,常用hour to second,表示小时到秒
字符相关
char(n) #定长字符,n最大为255
varchar(n,r) #可变字符类型
nchar(n) #同char,但是允许GLS应用程序的不同排序顺序
nvarchar(m,r) #同varchar,但是允许GLS应用程序的不同排序顺序
lvarchar(m) #变长字符串,最大32739字节
character varying(n,r) #存储用户定义的数据类型
大对象相关的
byte #二进制数据类型,最大2的31次方的字节,一般用来存储文件或者声音等
text #文本类型,最大2的31次方字节
blob #以随机存取块的形式存储二进制数据
clob #以随机存取块的形式存储文本数据
布尔类型
boolean #布尔类型,true,false
#建表
create table tableName(
tableColumn type [not null unique]
)
extent size 2400000 next size 1200000 lock mode row;
#创建索引
create index indexName on tableName(columnName);
#赋权给xxx
grant [type](select delete) on tableName to user;
#收回权限
revoke all on tableName from user;
#删除表
drop table tableName;
#删除索引
drop index indexName;
alter table tableName add (columns cloumnsType unique)
#新增
insert into tableName(columnsName1,columnName2,...,columnNames) values ('columnsValue1','columnsValue2',...,'columnsValues');
#删除
delete tableName where condition;
#查询
select columnsName1,...,columnsNames from tableName where condition [order by columnsName] [group by columnsName];
#修改
update tableName set columnsName1='columnsName1' where condition;
#清空表
truncate table tableName;
时间转换将datetime year to fraction(5)转换成字符串:
to_char(xxx,'%Y-%m-%d %H%M%S') as xxx
字符串截取函数
#exam:substr('hello world!',-1,1)取值为!
substr('columnsName',startIndex,length)
内部合计函数
#返回行数
COUNT(*)
#唯一值函数
distinct(*)
#求和函数
SUM(COLNAME/EXPRESSION)
#平均值
AVG(COLNAME/EXPRESSION)
#最小值
MIN(COLNAME/EXPRESSION)
#最大值
MAX(COLNAME/EXPRESSION)
日期与时间函数
#返回指定表达式中的当月几号
DAY(DATE/DATETIME EXPRESSION)
#返回指定表达式中的月份
MONTH(DATE/DATETIME EXPRESSION)
#返回指定表达式中的年份
YEAR(DATE/DATETIME EXPRESSION)
#返回指定表达式中的当周星期几
WEEKDAY(DATE/DATETIME EXPRESSION)
#返回指定表达式代表的日期值
DATE(NOT DATE EXPRESSION)
#返回当前日期的日期值
TODAY
#返回当前日期的日期时间值
CURRENT[first to last]
#返回指定精度的指定单位数
COLNAME/EXPRESSION UNITS PRECISION
#返回标识指定年、月、日的日期值
MDY(MONTH,DAY,YEAR)
#FIRST TO LAST 返回表达式代表的日期时间值
DATETIME(DATE/DATETIME EXPRESSION)
#返回经过调整的日期或日期时间
EXTEND(DATE/DATETIME EXPRESSION,[first to last])
代数函数
# 取绝对值
ABS(COLNAME/EXPRESSION):
#返回除以除数后的模(余数)
MOD(COLNAME/EXPRESSION,DIVISOR)
#返回一个值的指数冥
POW(COLNAME/EXPRESSION,EXPONENT)
# 返回指定列或表达式的根值
ROOT(COLNAME/EXPRESSION,[index])
#返回指定列或表达式的平方根值
SQRT(COLNAME/EXPRESSION)
# 返回指定列或表达式的圆整化值
ROUND(COLNAME/EXPRESSION,[factor])
#返回指定列或表达式的截尾值
TRUNC(COLNAME/EXPRESSION,[factor])
指数与对数函数
#返回指定列或表达式的指数值
EXP(COLNAME/EXPRESSION)
#返回指定列或表达式的自然对数值
LOGN(COLNAME/EXPRESSION)
#返回指定列或表达式的底数位10的对数值
LOG10(COLNAME/EXPRESSION)
三角函数
#返回指定弧度表达式的余弦值
COS(RADIAN EXPRESSION)
#正弦
SIN(RADIAN EXPRESSION)
#正切
TAN(RADIAN EXPRESSION)
# 反余弦
ACOS(RADIAN EXPRESSION)
# 反正弦
ASIN(RADIAN EXPRESSION)
#反正切
ATAN(RADIAN EXPRESSION)
#返回坐标(X,Y)的极坐标角度组件
ATAN2(X,Y)
统计函数
#返回指定列的最大值与最小值之差 = MAX(COLNAME)-MIN
RANGE(COLNAME)
#返回指定列的样本方差;
VARIANCE(COLNAME)
#返回指定列的标准偏差;
STDEV(COLNAME)
其他函数
#返回当前用户名
USER
#返回指定字符列或表达式的长度
LENGTH(COLNAME/EXPRESSION)
#删除指定列或表达式前后的字符
TRIM(COLNAME/EXPRESSION)
#返回并在一起的字符;
COLNAME/EXPRESSION || COLNAME/EXPRESSION
1、DBSERVERNAME返回数据库服务器名let tmp_char=DBSERVERNAME
2、SITENAME返回数据库服务器名let tmp_char=SITENAME
说明:两者功能相同;
3、DBINFO(‘SPECIAL_KEYWORD’)返回只关键字值
例子1:返回数据中每个表的DBSPACE名称
select dbinfo(‘dbspace’,partnum),tabname from systables
where tabid>99 and tabtype=‘T’(OK)
例子2:返回任何表中插入的最后一个SERIAL值
select dbinfo(‘sqlca.sqlerrd1’) from systables where tabid = 1
例子3:返回最后一个SELECT,INSERT,UPDATE,DELETE或EXECUTE PROCEDURE语句处理的行数;
select dbinfo(‘sqlca.sqlerrd2’) from systables where tabid=1;