zoukankan      html  css  js  c++  java
  • Sybase:数据类型(对比sqlserver)

    字符数字类型:

    • char、varchar、long varchar
    • nchar、nvarchar、long nvarchar
    • 通过域实现兼容sqlserver的数据类型:sysname(varchar(30))、text(long varchar域)、ntext(long nvarchar域)、xml(long varchar域)、uniqueidentifierstr(char(36)的域:映射为sqlserver的uniqueidentifier列)

    sybase和sqlserver不同,所有字符数据类型的存储结构是相同的。默认情况下:在一段中存储不超过128个字节的值;如果超过128个字节的值的完整值保存在其他页面上,本地仅仅保存4个字节的指向完整值的地址。默认值由create table语句的inline和prefix字句控制。
    sybase和sqlserver不同,字符数据类型的长度区分字节长度和字符长度,默认为字节长度。
    sybase和sqlserver不同,char类型在行为上是和varchar相同的。sql anywhere不会用空白字符填充数据
    当客户端程序对字符数据类型的列执行describe时,视所用的程序接口不同,使用字符长度语义定义可能会影响返回的值。


    数字数据类型:

    • bigint、bit、decimal、int、integer、numeric、smallint、tinyint
    • double、float(p)、real
    • 通过域实现兼容sqlserver的数据类型:money(numeric(19,4))、smallmoney(numeric(10,4))

    必须注意:精度、小数位数、数字个数问题
    sybase默认bit类型不允许为空,而sqlserver则无此限制
    sybase规定除了bit以外的整数类型可以有unsigned修饰,而sqlserver则无此修饰

    位数组数据类型:只能存储0和1组成的数据:整数的二进制表示

    • varbit、bit varying、long varbit、long bit varying

    二进制数据类型:逐字节比较、不进行字符集转换
    binary、long binary、varbinary、binary varying、uniqueidentifier(又称uuid或guid)
    通过域实现兼容sqlserver的数据类型:image(long binary)
    sybase的二进制数据和sqlserver的二进制数据类型最大长度大小不同:为32767而不是80000
    sybase的binary虽然类型和varbinary不同,但sybase总是那它当做varbinary处理


    日期和时间类型:

    • date、time、timestamp
    • 通过域实现兼容sqlserver的数据类型:datetime(timestamp)、smalldatetime(timestamp)

    sybase的日期和时间类型和sqlserver的有很大不同,sqlserver有datetime、smalldatetime两种类型且 能表示的范围和精度较小。
    sqlserver中的timestamp类型为一表示行版本的二进制串,和sybase的timestamp日期时间类型根本不同
    sybase中,无论:接口如何,是否是odbc格式,是否是嵌入sql的格式,是否指定了date_order,“yyyy-mm-dd”、“yyyy/mm/dd”格式总是可以正确解析为日期;“hh:mm:ss:ssss”将明确的解释为时间;二者的组合总能产生明确的日期时间;“yyyy-mm-dd hh.mm.ss.sss”也可以产生明确的日期时间,时间中的句点号仅仅能用在和日期组合的情况下!!


    域:用户自定义数据类型:内置数据类型的别名,包括:精度、小数位数、default值、check约束、为null性。
    域的存在,有利于整个数据库的一致性,并可以消除一些类型错误
    sybase的域的定义和使用及功能及要求和sqlserver的完全一样

    数据类型转换:

    • cast、convert显示转换;类型函数如date、string、数字类型+0.0;隐式转换
    • 字符集转换的丢失和字符替换问题
    • java数据类型和sql数据类型依照 jdbc标准执行转换
    • 不同数据类型的转换需要认真研读、实践,sybase和sqlserver以及不同的rdbms系统均不会完全相同
  • 相关阅读:
    二、MyBatis教程之三—多参数的获取方式
    js 编写一道程序题输入长和宽之后点击按钮可弹出长方形面积。
    js 收银元小程序
    文字特效text-shadow HTML+css
    跳动的心 有阴影 跳动
    table框的切换
    jquery选择器是什么?
    随机数Math.random()
    双色球随机数字
    Angularjs 算法//姓名//自定义标签
  • 原文地址:https://www.cnblogs.com/jinzhenshui/p/1744179.html
Copyright © 2011-2022 走看看