远程Sybase数据库技术支持,联系手机:13811580958,QQ:289965371!

 

随着Sybase被完全整合到SAP下,Sybase原来的支持网站被SAP Support Portal取代。
只有购买了SAP服务的用户才能使用账号登录SAP Support Portal进行介质下载、补丁升级、报Incident等。
目前,原Sybase所有产品(包括:Adaptive Server Enterprise、Sybase IQ、Replication Server、PowerDesigner等)的官方手册仍然可以从http://infocenter.sybase.com/help/index.jsp进行浏览或下载。暂不清楚该网站http://infocenter.sybase.com/help/index.jsp何时会被完全迁移到SAP Support上!
Sybase官方手册英文版有html和pdf两种格式,而中文版手册只有pdf一种格式。为了国内Sybase用户更方便、快捷地搜索Sybase常见产品的官方手册内容,特将中文版Sybase官方手册转为html格式!
Sybase产品官方手册中文版的html格式所有内容的版权归SAP公司所有!本博客站长是Sybase数据库的铁杆粉丝!

如有Sybase数据库技术问题需要咨询,请联系我!

  QQ :289965371 点击这里给我发消息
  Email:

以下官方手册为ASE 15.7 ESD#2中文版:

  1. 新增功能公告 适用于 Windows、Linux 和 UNIX 的 Open Server 15.7 和 SDK 15.7
  2. 新增功能摘要
  3. 新增功能指南
  4. ASE 15.7 发行公告
  5. 配置指南(windows)
  6. 安装指南(windows)
  7. 参考手册:构件块
  8. 参考手册:命令
  9. 参考手册:过程
  10. 参考手册:表
  11. Transact-SQL® 用户指南
  12. 系统管理指南,卷 1
  13. 系统管理指南,卷 2
  14. 性能和调优系列:基础知识
  15. 性能和调优系列:锁定和并发控制
  16. 性能和调优系列:监控表
  17. 性能和调优系列:物理数据库调优
  18. 性能和调优系列:查询处理和抽象计划
  19. 性能和调优系列:使用 sp_sysmon 监控 Adaptive Server
  20. 性能和调优系列:利用统计分析改进性能
  21. 程序员参考 jConnect for JDBC 7.0.7
  22. Adaptive Server Enterprise 中的 Java
  23. 组件集成服务用户指南
  24. Ribo 用户指南
  25. 内存数据库用户指南
  26. Sybase Control Center for Adaptive Server® Enterprise
  27. 安全性管理指南
  28. 实用程序指南

 


< 上一个 | 内容 | 下一步 >

cast

说明 将指定的值转换为其它数据类型。

语法 cast (expression as datatype [(length | precision[, scale])])

参数 expression

是要从一种数据类型或日期格式转换为另一种数据类型或日期格式的 值。它包括列、常量、函数以及由算术运算符或逐位运算符或子查询 连接在一起的常量和函数的任意组合。

如果数据库中已启用 Javaexpression 可以是将要转换为 Java-SQL 类 的值。

unichar 用作目标数据类型时,如果未指定长度,则使用缺省长度, 即 30 Unicode 值。

length

是与 charncharunicharunivarcharvarcharnvarcharbinary varbinary 数据类型一起使用的可选参数。如果不提供长度, Adaptive Server 将把字符类型的数据截断到 30 个字符,把二进制类型的数据截 断到 30 字节。字符和二进制表达式可以具有的最大长度是 64K

precision

numeric decimal 数据类型中的有效位数。对于 float 数据类型, 精度是指尾数中有效的二进制位数。如果不提供精度,Adaptive Server 将对 numeric decimal 数据类型使用缺省精度 18

scale

numeric decimal 数据类型中小数点右侧的位数。如果不提供标 度, Adaptive Server 将使用缺省标度 0

示例 示例 1 将日期转换为更加易读的 datetime 格式:

select cast("01/03/63" as datetime) go

--------------------------

Jan 3 1963 12:00AM


(1 row affected)

示例 2 将标题数据库中的 total_sales 列转换为 12 字符列:

select title, cast(total_sales as char(12))

用法 cast date time 数据类型使用缺省格式。

cast 的参数超出该函数的定义范围时,该函数就会产生域错误。 这种错误应极少发生。


无法使用 null/not null 关键字指定结果数据类型是否可为空值。但是, 您可使用含空值本身的 cast 得到可为空的结果数据类型。要将值转 换 为可为 空的 数据类 型,可使 用允许 使用 null/not null 关键字 的 convert() 函数。

您可以使用 cast image 列转换为 binary varbinary。这种转换受到 binary 数据类型的最大长度的限制,该长度由服务器逻辑页大小的最 大列大小决定。如果未指定长度,转换后的值将具有缺省的长度(30 个字符)。

可以将 unichar 表达式用作目标数据类型,也可将它们转换为其它数 据类型。 unichar 表达式可在服务器支持的任何其它数据类型间显式 或隐式转换。

unichar 用作目标类型时,如果您未指定长度,则使用缺省长度, 即 30 Unicode 值。如果目标类型的长度不足以容纳给定的表达 式,就会显示出错消息。

隐式转换

如果两种数据类型的主字段不匹配,那么在这两种数据类型之间进行隐 式转换可能导致数据截断、插入缺省值或产生错误消息。例如,如果将 datetime 值转换为 date 值,时间部分将被截断,只留下日期部分。如果 将 time 值转换为 datetime 值,将在新的 datetime 值中添加缺省的日期部 分 Jan 1, 1900。如果将 date 值转换为 datetime 值,则将向 datetime 值中 添加缺省的时间部分 00:00:00:000

DATE -> VARCHARCHARBINARYVARBINARYDATETIMESMALLDATETIME TIME -> VARCHARCHARBINARYVARBINARYDATETIMESMALLDATETIME VARCHARCHARBINARYVARBINARYDATETIMESMALLDATETIME -> DATE VARCHARCHARBINARYVARBINARYDATETIMESMALLDATETIME -> TIME

显式转换

如果试图将 date 显式转换为 datetime,并且值 (如 “Jan 1, 1000”)超出

datetime 范围,则不允许转换并出现提示性的错误消息。

DATE -> UNICHARUNIVARCHAR TIME -> UNICHARUNIVARCHAR UNICHARUNIVARCHAR -> DATE UNICHARUNIVARCHAR -> TIME

涉及 Java 类的转换

如果数据库中已启用 Java,则可按下列方法使用 cast 更改数据类型:

Java 对象类型转换为 SQL 数据类型。

SQL 数据类型转换为 Java 类型。


如果表达式(源类)的编译时数据类型是目标类的子类或超类, 则会将安装在 Adaptive Server 上的任何 Java-SQL 类转换为安装 在 Adaptive Server 上的任何其它 Java-SQL 类。

转换的结果与当前的数据库相关联。

标准 符合 ANSI SQL 的级别符合 ANSI 标准。

权限 任何用户都可以执行 cast




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从Sybase SQL Anywhere的DB文件中恢复数据的工具:ReadASADB。
此工具支持ASA v5.0,v6.0,v7.0,v8.0,v9.0,v10.0,v11.0,v12.0等版本。
恢复Sybase SQL Anywhere的工具在国内应该算首创。

ReadASADB功能
能够从损坏的SQL Anywhere数据文件(.db)和UltraLite数据文件(.udb)上提取数据的非常规恢复工具

  1. 适用于所有的SQL Anywhere版本    包括:5.x,6.x,7.x,8.x,9.x,10.x,11.x,12.x
  2. 适用于所有的UltraLite版本
  3. 能够恢复出来表结构和数据
  4. 能够恢复自定义数据类型
  5. 能够恢复存储过程等对象的语法
  6. 能够导出到目标数据库
  7. 能够导出到SQL文件并生成导入脚本
  8. 支持多种字符集  包括:cp850、cp936、gb18030、utf8等
  9. 能够恢复未加密或者简单加密类型的数据
  10. 简单易用
  11. 限制:不支持AES加密的数据文件
请参考:研发成功了从Sybase SQL Anywhere的DB文件上恢复数据的工具
            SQL Anywhere数据库非常规恢复工具ReadASADB使用介绍

ReadASADB适用场景

各种误操作:

  1. 误截断表(truncate table)
  2. 误删除表(drop table)
  3. 错误的where条件误删数据
  4. 误删除db或log文件
  5. 误删除表中的字段

本工具的应用场景:

1.因为物理磁盘故障、操作系统、系统软件方面或者掉电等等原因导致的Sybase SQL Anywhere数据库无法打开的情况;
2.误操作,包括truncate table,drop table,不正确的where条件导致的误删除等;
Sybase SQL Anywhere无法打开时,比较常见的错误是:Assertion failed。
如:
1、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Checkpoint log: invalid bitmap page -- transaction rolled back
2、Internal database error *** ERROR *** Assertion failed:201819 (8.0.1.2600) Page number on page does not match page requested -- transaction rolled back
3、Internal database error *** ERROR *** Assertion failed:200502 (9.0.2.2451) Checksum failure on page 23 -- transaction rolled back
4、File is shorter than expected
5、Internal database error *** ERROR *** Assertion failed: 201116 Invalid free list index page found while processing checkpoint log -- transaction rolled back
6、*** ERROR *** Assertion failed: 51901 Page for requested record not a table page or record not present on page等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------