存档

文章标签 ‘ASE’,文章数:62

以YYYYMMDDHHMMSS的格式显示日期的SQL语句为:

其中日期部分:convert(varchar,getdate(),112)

时间部分为:convert(varchar,getdate(),108)

需要将时间部分的:16:18:45里的冒号去掉。使用函数:str_replace,将冒号去掉,注意是NULL而不是空字符。

1> select str_replace(convert(varchar,getdate(),108),':',NULL)
2> go

 ------------------------------
 162014

完整的SQL语句为:

str_replace(convert(varchar,getdate(),112) + convert(varchar,getdate(),108) , ':',NULL)

阅读全文...

ASE自15.0后增加了3中语义分区:hash、range、list。默认的轮询分区(roundrobin)为非语义分区,是为了兼容15.0之前的版本而设计的。

语义分区表的分区信息主要存储在:syspartitions和syspartitionkeys这两张表中。

查看表的分区信息可以使用系统自带的存储过程:sp_helpartition

本文提供3个SQL语句:

  1. 如何判断一个表是否是分区表?

select count(*) from dbo.syspartitionkeys where id=object_id(table_name)

示例:

1> if exists(select 1 from dbo.syspartitionkeys where id = object_id("PART_RESDISK"))

2> print "table PART_RESDISK exists!"

3> else

4> print "table PART_RESDISK not exists!"

5> go

table PART_RESDISK exists!

ASE15.0中的表默认为roundrobin类型的"分区表",系统表syspartitionkeys表中仅仅记录语义分区表的分区键信息。

阅读全文...

利用前面介绍的用Sybase Central连接ASE数据库的方法

用Sybase Central连接Sybase ASE数据库 http://www.dbainfo.net/connnect-to-sybase-ase-by-sybase-central-client-tool.htm

成功连接上数据库后,会显示如下的窗口。

如果左边窗口中没有显示如图所示的文件夹列表,那么需要选择菜单视图下的文件夹菜单 阅读全文...

Sybase ASE15.0.3客户端的安装介质和其它一些客户端组件(比如:PowerDesigner,PowerTransfer,InfoMaker等)一起被放置在一张光盘中。使用光盘或者将ASE客户端拷贝到硬盘上进行安装。下图是客户端介质光盘的目录列表。

    windows下的Sybase ASE客户端可以安装在32位和64位的平台上,分别对应目录下的pcclient32和pcclient64目录。

ASE 15.0.3 客户端 32位和64位下载地址:ase1503_client_win32_2.zip

    本文档演示在windows XP SP3环境上安装Sybase ASE客户端。进入目录pcclient32,有setup.exe 和 setupConsole.exe两个文件。

    双击setupConsole.exe进行Sybase ASE客户端的安装过程 阅读全文...

Oracle中查询月底那天的日期的函数为:last_day()。 在ASE中没有对应的函数,在Oracle移植到Sybase的时候,需要手动编写函数来实现,幸亏ASE15.0.2后开始支持自定义函数。

下面提供3种实现查询本月最后一天的日期的SQL语句:

第一种:

select dateadd(dd,-1,convert(char(8),(datepart(yy,dateadd(mm,1,getdate()))*10000+datepart(mm,dateadd(mm,1,getdate()))*100+01)))
go
 

将本月的下一个月的年份和月份提取出来,以数字的形式相加,然后转化成类似YYYYMMDD的这种日期格式。最后直接取下个月的第一天的前一天即可。在ASE中字符串 '20110101' 和 convert(datetime,'20110101') 是相等的。

 

第二种: 阅读全文...

convert函数的style截止到ASE15.0.3有以下的样式!

Date format conversions using the style parameter

Without century (yy)

With century (yyyy)

Standard

Output

-

0 or 100

Default

mon dd yyyy hh:mm AM (or PM)

1

101

USA

mm/dd/yy

2

2

SQL standard

yy.mm.dd

3

103

English/French

dd/mm/yy

4

104

German

dd.mm.yy

5

105

 

dd-mm-yy

6

106

 

dd mon yy

7

107

 

mon dd, yy

8

108

 

HH:mm:ss

-

9 or 109

Default + milliseconds

mon dd yyyy hh:mm:ss AM (or PM)

10

110

USA

mm-dd-yy

11

111

Japan

yy/mm/dd

12

112

ISO

yymmdd

13

113

 

yy/dd/mm

14

114

 

mm/yy/dd

14

114

 

hh:mi:ss:mmmAM(or PM)

15

115

 

dd/yy/mm

-

16 or 116

 

mon dd yyyy HH:mm:ss

17

117

 

hh:mmAM

18

118

 

HH:mm

19

   

hh:mm:ss:zzzAM

20

   

hh:mm:ss:zzz

21

   

yy/mm/dd HH:mm:ss

22

   

yy/mm/dd HH:mm AM (or PM)

23

   

yyyy-mm-ddTHH:mm:ss

阅读全文...

在oracle的sqlplus中有一个命令:desc,能够简要的显示基表、视图等的结构。desc的显示结果简单明了,比较实用。虽然在Sybase ASE中的存储过程sp_help也能实现查看表结构的目的;但是,显示结果很多尤其换行混乱,让人看得眼花缭乱。显示的存储过程:sp_desc能够实现oracle的sqlplus中desc相同的功能,仅仅多了一列:列序号。

效果图如下:

实现类似oracle的sqlplus中desc想类似功能的sp_desc存储过程

 

存储过程sp_desc的语法如下: 阅读全文...

Sybase ASE自版本15.0.2开始增加判断字符串是否为日期类型的函数:isdate,以及判断字符串是否为数字类型的函数:isnumeric

函数:isdate

Syntax

isdate(character_expression)

Parameters

character_expression

    is a character-type variable, constant expression, or column name.

Usage

Returns 1 if the expression is a valid datetime value; returns 0 if it is not. Returns 0 for NULL input. 阅读全文...