远程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. 实用程序指南

 


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

datepart

说明 返回日期表达式的指定分量的整数值。

语法 datepart(date_part {date | time | datetime | bigtime | bigdatetime}))

参数 date_part

是日期分量。 2- 5 列出了 datepart 可识别的日期分量、缩写以及可接 受的值。

2-5:日期分量及其值

日期分量

缩写

两位数

yy

1753 9999(对于 smalldatetime 则为 2079)。如果是 date,则为 0001

9999

quarter

qq

1 4

month

mm

1 12

week

wk

1 54

day

dd

1 31

dayofyear

dy

1 366

weekday

dw

1 - 7 (周日— 周六)

hour

hh

0 23

minute

mi

0 59

second

ss

0 59

millisecond

ms

0 999

microsecond

us

0 - 999999

calweekofyear

cwk

1 53

calyearofweek

cyr

1753 9999(对于 smalldatetime 则为 2079)。如果是 date,则为 0001

9999

caldayofweek

cdw

1 7


当以两位数字输入年份时 (yy)

那些小于 50 的数字将被解释为 20 yy。例如, 01 200132

203249 2049

那些等于或大于 50 的数字被解释为 19 yy。例如,50 195074

197499 1999

对于 datetimesmalldatetime time 类型,毫秒前可以带一个冒号 或句号。如果前面带冒号,数字就表示千分之多少秒。如果前面 带句点,单个数字位表示十分之多少秒,两个数字位表示百分之 多少秒,三个数字位表示千分之多少秒。例如,“12:30:20:1”表 示 12:30 过二十又千分之一秒; “12:30:20.1”表示 12:30 过二十 又十分之一秒。

微秒前面必须有小数点且表示小数秒数。

date_expression

datetimesmalldatetimebigdatetimebigtimedatetime 类型的表 达式,或 datetime 格式的字符串。

示例 示例 1 查找 bigdatetime 的微秒:

declare @a bigdatetime

select @a = "apr 12, 0001 12:00:00.000001" select datepart(us, @a)

----------- 000001

示例 2 假定当前日期是 1995 11 25 日:

select datepart(month, getdate())

-----------

11

示例 3 返回传统烹调书籍的出版年份:

select datepart(year, pubdate) from titles where type = "trad_cook"

-----------

1990

1985

1987


示例 4

select datepart(cwk,'1993/01/01')

-----------


53

示例 5

select datepart(cyr,'1993/01/01')

-----------

1992

示例 6

select datepart(cdw,'1993/01/01')

-----------

5

示例 7 查找时间中的小时数:

declare @a time

select @a = "20:43:22" select datepart(hh, @a)

----------- 20

示例 8 如果使用 datename datepart 请求 date 中的小时、分钟或秒部 分,则返回 0 (零) ,结果为缺省时间;如果使用 datename datepart 请求 time 中的月份、天或年,则返回缺省日期 Jan 1 1990

-- 查找日期中的小时数

declare @a date

select @a = "apr 12, 0001" select datepart(hh, @a)

-----------

0

-- 查找时间的月份

declare @a time

select @a = "20:43:22" select datename(mm, @a)

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

January

如果指定空值作为 datetime 函数的参数,将返回 NULL

用法 以整数的形式返回指定 date (第二个参数)的第一个参数中指定的 datepart。将 datetimedatetimebigdatetimebigtime smalldatetime 值作为它的第二个参数。如果 datepart 是小时、分钟、秒、毫秒或微 秒,则结果为 0


datepart 返回符合 ISO 标准 8601 的数字,此标准定义了一周中的第 一天和一年中的第一周。根据 datepart 函数包含的是 calweekofyear 值、calyearofweek 值还是 caldayorweek 值,对同一时间单位返回的日 期可能不同。例如,如果将 Adaptive Server 配置为以美国英语作为 缺省语言,以下命令将返回 1988

datepart(cyr, "1/1/1989")

不过,以下命令将返回 1989

datepart(yy, "1/1/1989)

出现这种不一致是由于该 ISO 标准将一年的第一周定义为包含周四

并且 以周一开始的第一周。

如果服务器以美国英语为缺省语言,则一周的第一天是周日,一年 的第一周是包含 1 4 日的那一周。

如果在 datepart 中使用日期分量 weekday dw,将返回相应的编号。 与星期名称对应的编号取决于 datefirst 设置。某些语言的缺省设置

(包括 us_english)会生成 Sunday=1Monday=2,依此类推;而其 它语言的缺省设置则生成 Monday=1Tuesday=2,依此类推。可在 每次会话时用 set datefirst 更改缺省行为。有关详细信息,请参见 set 命令的 datefirst 选项。

calweekofyear 可缩写为 cwk,它返回一年中周的序数。calyearofweek 可 缩写为 cyr,它返回一周开始的年份。 caldayofweek 可缩写为 cdw,它 返回一周中每一天的序数。calweekofyearcalyearofweek caldayofweek 不能用作 dateadd datediff datename 的日期分量。

由于 datetime time 仅精确到 1/300 秒,因此当这些数据类型用于

datepart 时,毫秒会舍入到最近的 1/300 秒。

由于 smalldatetime 仅对于分钟是精确的,所以在 datepart 中使用

smalldatetime 值时,秒和毫秒总为 0

语言设置将影响星期日期分量的值。

标准 符合 ANSI SQL 的级别 Transact-SQL 扩展。

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

另请参见 数据类型 日期和时间数据类型

命令 selectwhere clause

函数 dateadddatediffdatename getdate




--------------------------------------华丽的分割线-------------------------------------------------------------------------
之前就已经研发成功了能够从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等等。
+-------------------------------------华丽的分割线-------------------------------------------------------------------------