文档库 最新最全的文档下载
当前位置:文档库 › sybase基础代码之数据类型

sybase基础代码之数据类型

*******************数据类型******************************************

/*字符类型*/
create table zifu
(
char_string char(5),
varchar_string varchar(5),
text_string text)
insert into zifu values( 'test','test','it is atest data type')
/*insert into zifu values( '#¥%%¥est','test','it is atest data type')只能存Unicode标准字符256个*/
select * from zifu

/* 整形数据*/
create table zhengxing
(
bigint_number bigint,
int_numer int,
smallint_number smallint,
tinyint_number tinyint)
insert into zhengxing values( 4565555546565,545784515,32767,255)/*2^15-1=32767,2^8-1=255*/
select * from zhengxing

/* 小数数据*/
create table xiaoshu
(
decimal_number decimal(8,6),
numeric_number numeric(5,3))
insert into xiaoshu values(99.999997,40)
insert into xiaoshu values(99.999,90.999)
/***修改:decimal(8,6)中的8表示有效位数,小数点左右两侧都包括在内;6表示小数位数,小数点右侧所能储存的最大十进位数;
在sybase中若小数位数大于设定值是不行的。*/
select * from xiaoshu


/* 日期时间类型 */
create table date
(
c1 datetime,
c2small smalldatetime)
/***smalldatetime只精准到分,而datetime則可精准到3.33毫秒;*/
/***smalldatetime的有效时间范围1900/1/1~2079/6/6;datetime的有效时间范围1753/1/1~9999/12/31*/

insert into date values('2001-5-16 11:5:56.56','4/15/1985 11:31:15pm')/*存的是2001年和1985年*/
insert into date values('01-5-16 11:5:56.56','4/15/85 11:31:15pm')/*存的是2016年和1985年*/
insert into date values('April 15,1999','April 15 1999')/*可以不加,号*/
select * from date

select day('05/06/2005')as 'day','month'=month('05/06/2005'),
year('05/06/2005')as 'year'/*结果为:6 5 2005 */
select day('05-06-2005')as 'day'/*结果为:6*/
/*'05/06/2005'默认的是:6日5月2005年,月为第一个,与英文相同*/


/* 二进制类型*/
create table binary_table
(
c1_binary binary(10),
c2_varbinary varbinary(20),
c3_image image)
insert binary_table values(0x321,0xffff,0x14ffff)/*binary存的是0x03210000000000000000,其他两个按原样存*/
select * from binary_table
/*** 将 binary、varbinary 或 image 数据作为文字输入时,数据必须加前缀“0x”。
例如,若要输入“FF”,请键入“0xFF”。但是,不要用引号括起以“0x”开头的数据*/


/* 货币数据类型*/
create table huobi
(
money_number money,
smallmoney_number smallmoney)
insert into huobi values($123.45,cast('$111,111.45'as money))
/*insert into huobi values($123.45,$111,111.45)直接存时money不能夹,号*/
insert into huobi values($123.45,$111111.45)
insert into huobi values(123.45,111111.45)
insert into huobi values(¥123.45,¥111111.45)/*上面四行的结果存储跟显示都一样*/
select * from huobi
/***若要输入负值,直接在货币符号后加上一个负号*/


/* Unicode类型*/
declare @myunicodevar n

char(25)
set @myunicodevar='this is a Unicode string'
print @myunicodevar

declare @myunicodevar nchar(25)
set @myunicodevar='@#$%%^&is is a Unicode string'
print @myunicodevar
/*** @myunicodevar='@#$%^&is is a Unicode string'会报错,
需将字符串中单个%替换成两个%,前一个作为转义符,输出就会正常*/


/* 其他类型*/
/* sql_variant类型*/
/***sybase不支持sql_variant*/
create table 特殊数据
(
aql_variant_data sql_variant)
insert into 特殊数据 values('this is a sql_variant data type test')
insert into 特殊数据 values(545454)
insert into 特殊数据 values('April 15,1999')
insert into 特殊数据 values('Apr il')
select * from 特殊数据


/* table数据类型*/
declare @table_examble table
(
col_num int primary key,
col_text char(50))
insert into @table_examble values(1,'this is a')
insert into @table_examble values(2,'table data type examble')
select * from @table_examble
/***执行失败*/


/* 逻辑数据类型*/
create table bit_table
(
c1 bit,
c2 bit,
c3 bit)
--insert into bit_table values(22,null,0)/*能输入1,0,null,输入除0外的数都视为1*/
insert into bit_table values(22,8,0)
select * from bit_table--显示结果为1 1 0
/***修改:不能输入null */


/* 用户自定义数据类型*/
exec sp_addtype birthday,datetime,'null'
create table 特殊数据2
(
char_data char(20),
birthday_day birthday)
insert into 特殊数据2 values('hingis','12/31/1980')
insert into 特殊数据2 values('marina','05/25/1981')
select * from 特殊数据2
drop table 特殊数据2 /*只有删掉使用 用户自定义数据类型 的表特殊数据2时,才可以删除 用户自定义数据类型--birthday*/
exec sp_droptype birthday

相关文档
相关文档 最新文档