`
wang_zhi_peng2007
  • 浏览: 249141 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Sybase 时间处理Convert 的使用

 
阅读更多

1. 怎样将datetime类型的日期转换为yyyy-mm-dd格式

 

 SELECT   STR_REPLACE(CONVERT(VARCHAR, GETDATE(), 111) ,'/','-'); 

 

2. DateTime转换成Varchar样式

 

语句及查询结果:
Select CONVERT(varchar(100), GETDATE(), 0): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1): 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2): 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3): 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4): 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5): 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6): 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7): 05 16, 06
Select CONVERT(varchar(100), GETDATE(),8 : 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9): 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10): 05-16-06
Select CONVERT(varchar(100), GETDATE(), 11): 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12): 060516
Select CONVERT(varchar(100), GETDATE(), 13): 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14): 10:57:46:967
Select CONVERT(varchar(100), GETDATE(), 20): 2006-05-16 10:57:47
Select CONVERT(varchar(100), GETDATE(), 21): 2006-05-16 10:57:47.157
Select CONVERT(varchar(100), GETDATE(), 22): 05/16/06 10:57:47 AM
Select CONVERT(varchar(100), GETDATE(), 23): 2006-05-16
Select CONVERT(varchar(100), GETDATE(), 24): 10:57:47
Select CONVERT(varchar(100), GETDATE(), 25): 2006-05-16 10:57:47.250
Select CONVERT(varchar(100), GETDATE(), 100): 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 101): 05/16/2006
Select CONVERT(varchar(100), GETDATE(), 102): 2006.05.16
Select CONVERT(varchar(100), GETDATE(), 103): 16/05/2006
Select CONVERT(varchar(100), GETDATE(), 104): 16.05.2006
Select CONVERT(varchar(100), GETDATE(), 105): 16-05-2006
Select CONVERT(varchar(100), GETDATE(), 106): 16 05 2006
Select CONVERT(varchar(100), GETDATE(), 107): 05 16, 2006
Select CONVERT(varchar(100), GETDATE(), 108): 10:57:49
Select CONVERT(varchar(100), GETDATE(), 109): 05 16 2006 10:57:49:437AM
Select CONVERT(varchar(100), GETDATE(), 110): 05-16-2006
Select CONVERT(varchar(100), GETDATE(), 111): 2006/05/16
Select CONVERT(varchar(100), GETDATE(), 112): 20060516
Select CONVERT(varchar(100), GETDATE(), 113): 16 05 2006 10:57:49:513 
 

 

3. Sybase中convert函数中第三个参数的格式

 

sybase下convert函数第三个参数(时间格式)

比如:
1.select user_id,convert(varchar(10),dayts,11) as dates from tb_user    (sybase下及sql server下语句)

2.select to_char(sysdate,'yy/mm/dd') as d from dual    (oracle下语句)

 转换格式:
0或100 month dd yyyy hh:miampm
1 mm/dd/yy
2 yy.mm.dd
3 dd/mm/yy
4 dd.mm.yy
5 dd-mm-yy
6 dd month yy
7 month dd,yy
8 hh:mi:ss
9或109 month dd yyyy hh:mi:ss:mmmampm
10 mm-dd-yy
11 yy/mm/dd
12 yymmdd
还有100、101、102...和上面的对应,只不过将yy变为yyyy.
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
104 dd.mm.yyyy
105 dd-mm-yyyy
106 dd month yyyy
107 month dd,yyyy
108 hh:mi:ss
110 mm-dd-yyyy
111 yyyy/mm/dd
112 yyyymmdd


也可以把几种格式合在一起:

select rtrim(convert(char,getdate(),111))+''+(convert(char,getdate(),108))  -- yyyy/mm/dd hh:mi:ss

convert(varchar(10),字段名,转换格式)
cast(cad.id as varchar)  //把cad表的id字段转换为varchar字段,其中id字段为整型
比如:
select user_id,convert(varchar(10),date,11) as date from tb_user


dateadd(日期部分,数值表达式,日期)

select dateadd(dd,10,time) from testDate  //以日子计算,在当前time时间加10天

转换格式:
0或100 month dd yyyy hh:miampm
1 mm/dd/yy
2 yy.mm.dd
3 dd/mm/yy
4 dd.mm.yy
5 dd-mm-yy
6 dd month yy
7 month dd,yy
8 hh:mi:ss
9或109 month dd yyyy hh:mi:ss:mmmampm
10 mm-dd-yy
11 yy/mm/dd
12 yymmdd
101 mm/dd/yyyy
102 yyyy.mm.dd
103 dd/mm/yyyy
104 dd.mm.yyyy
105 dd-mm-yyyy
106 dd month yyyy
107 month dd,yyyy
108 hh:mi:ss
110 mm-dd-yyyy
111 yyyy/mm/dd
112 yyyymmd

Sybase时间日期函数
2010年05月09日 星期三 下午 06:54
 
Sybase日期函数 
--------------------------------------------------------------------------------

日期函数
getdate()
得到当前时间,可以设置得到各种时间格式.
datepart(日期部分,日期)
取指定时间的某一个部分,年月天时分秒.
datediff(日期部分,日期1,日期2)
计算指定的日期1和日期2的时间差多少.
dateadd(日期部分,数值表达式,日期)
计算指定时间,再加上表达式指定的时间长度.

--取时间的某一个部分

select datepart(yy,getdate()) --year
select datepart(mm,getdate()) --month
select datepart(dd,getdate()) --day
select datepart(hh,getdate()) --hour
select datepart(mi,getdate()) --min
select datepart(ss,getdate()) --sec

--取星期几

set datefirst 1
select datepart(weekday,getdate()) --weekday

--字符串时间

select getdate() -- '10/11/12'
select convert(char,getdate(),101) -- '09/27/2010'
select convert(char,getdate(),102) -- '2010.11.12'
select convert(char,getdate(),103) -- '27/09/2010'
select convert(char,getdate(),104) -- '27.09.2010'
select convert(char,getdate(),105) -- '27-09-2010'
select convert(char,getdate(),106) -- '27 Sep 2010'
select convert(char,getdate(),107) --'Sep 27, 2010'
select convert(char,getdate(),108) --'11:16:06'
select convert(char,getdate(),109) --'Sep 27 2010 11:16:28:746AM'
select convert(char,getdate(),110) --'09-27-2010'
select convert(char,getdate(),111) --'2010/09/27'
select convert(char,getdate(),112) --'20100927'
select rtrim(convert(char,getdate(),102))+' '+(convert(char,getdate(),108)) -- '2010.11.12 11:03:41'


在sybase数据库中,假设表A的时间段时间为2005-8-19 4:20,
但是在用select语句搜出后结果为“Aug 19 2005  4:20:04 ”
请问怎么才能转换成2005-8-9 4:20这种格式呢。


2BeSybPro如何得出自己需要的时间格式

select substring(convert(char(8),getdate(),112),1,4)+'-'+substring(convert(char(8),getdate(),112),5,2)+'-'+substring(convert(char(8),getdate(),112),7,2)+''+convert(char(5),getdate(),108)


select substring(convert(char(8),getdate(),112),1,4)+'-'+substring(convert(char(8),getdate(),112),5,2)+'-'+substring(convert(char(8),getdate(),112),7,2)+''+convert(char(8),getdate(),108)


--整数时间


select convert(int,convert(char(10),getdate(),112)) -- 20031112
select datepart(hh,getdate())*10000 + datepart(mi,getdate())*100 + datepart(ss,getdate()) -- 110646

--时间格式 "YYYY.MM.DD HH:MI:SS" 转换为 "YYYYMMDDHHMISS"

declare @a datetime,@tmp varchar(20),@tmp1 varchar(20)
select @a=convert(datetime,'2004.08.03 12:12:12')
select @tmp=convert(char(10),@a,112)
select @tmp
select @tmp1=convert(char(10),datepart(hh,@a)*10000 + datepart(mi,@a)*100 + datepart(ss,@a))
select @tmp1
select @tmp=@tmp+@tmp1
select @tmp

--当月最后一天

declare
@tmpstr varchar(10)
@mm int,
@premm int,
@curmmlastday varchar(10)
begin
select @mm=datepart(month,getdate())--当月
select @premm=datepart(month,dateadd(month,-1,getdate())) --上个月
if (@mm>=1 and @mm<=8)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else if (@mm>=9 and @mm<=11)
select @tmpstr=convert(char(4),datepart(year,getdate()))+'.'+convert(char(2),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
else
select @tmpstr=convert(char(4),datepart(year,dateadd(year,1,getdate())))+'.0'+convert(char(1),datepart(month,dateadd(month,1,getdate())))+'.'+'01'
select @curmmlastday=convert(char(10),dateadd(day,-1,@tmpstr),102) --当月最后一天
end


 declare @st datetime,
         @ft datetime
 
         set @st = dateadd(dd,-day(dateadd(month,-1,getdate()))+1,dateadd(month,-1,getdate())),    --上个月一号
      @ft = dateadd(dd,-day(getdate())+1,getdate())     ---本月一号
        select rtrim(convert(char,@st,111))+''+(convert(char,@st,108))  -- yyyy/mm/dd hh:mi:ss
        select rtrim(convert(char,@ft,111))+''+(convert(char,@ft,108))  -- yyyy/mm/dd hh:mi:ss
 
---转化为数据格式20091011181960

select cast(datepart(yy,getdate()) as varchar)+right('00'+cast(datepart(mm,getdate())as varchar),2)+right('00'+cast(datepart(dd,getdate())as varchar),2)+
2> right('00'+cast(datepart(hh,getdate())as varchar),2)+right('00'+cast(datepart(dd,getdate())as varchar),2)+right('00'+cast(datepart(ss,getdate())as varchar),2)

*************************
CONVERT 函数 [数据类型转换]

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

功能 返回转换成提供的数据类型的表达式。

语法 CONVERT ( data type, expression_r_r_r_r_r_r [ , format-style ] )

参数 data type    表达式将转换成的数据类型。

expression_r_r_r_r_r_r    要转换的表达式。

format-style    对于将字符串转换为日期或时间数据类型以及相反的转换过程,format-style 是描述要使用的日期格式字符串的样式代码。 format-style 参数的值具有下列含义:

不含世纪 (yy) 含世纪 (yyyy) 输出 
- 0 或 100 Mmm dd yyyy hh:nn:ss:sss AM(或 PM) 
1 101 mm/dd/yy[yy] 
2 102 [yy]yy.mm.dd 
3 103 dd/mm/yy[yy] 
4 104 dd.mm.yy[yy] 
5 105 dd-mm-yy[yy] 
6 106 dd Mmm yy[yy] 
7 107 Mmm dd, yy[yy] 
8 108 hh:nn:ss 
- 9 或 109 Mmm dd yyyy hh:nn:ss:sssAM(或 PM) 
10 110 mm-dd-yy[yy] 
11 111 [yy]yy/mm/dd 
12 112 [yy]yymmdd 
13 113 dd Mmm yyy hh:nn:ss:sss(24 小时制,欧洲缺省时间 + 毫秒,4 位数年份) 
14 114 hh:nn:ss:sss(24 小时制) 
20 120 yyyy-mm-dd hh:nn:ss:sss(24 小时制,ODBC 规范,4 位数年份) 
21 121 yyyy-mm-dd hh:nn:ss.sss(24 小时制,ODBC 规范加毫秒,4 位数年份) 

ps:在convert的有些转换类型,在sql service和 sybase中输出的是不一样的结果。
 

 

分享到:
评论

相关推荐

    sybase日期处理

    综上所述,Sybase的日期处理涵盖了日期时间类型的选择、日期函数的使用以及日期截取和格式化等多个方面。理解并熟练运用这些功能,对于在Sybase环境中进行数据处理和分析至关重要。通过实践和不断学习,你可以更好地...

    sybase 数据库函数大全

    Sybase系统函数是指由Sybase数据库自带的一系列预定义函数,它们能够执行特定的数据操作或系统任务,如字符串处理、数学计算、日期时间处理、转换类型等。熟练掌握这些函数,对于优化查询性能、简化编程工作以及提高...

    sybase数据库sql常见问题处理

    ### Sybase数据库SQL常见问题处理 #### 一、监控与配置 **1. CPU使用情况** 为了了解Sybase数据库在运行过程中对CPU资源的消耗情况,可以使用以下命令: ```sql EXEC sp_sysmon 'internal', 'model'; ``` 其中...

    sybase日期函数.txt

    在Sybase中,处理日期和时间是非常重要的,尤其是在进行数据分析、报表生成等操作时。下面将详细介绍Sybase中的日期函数及其用途。 ### 一、获取当前日期和时间 #### 1. `getdate()`函数 `getdate()`函数用于返回...

    Sybase function

    根据给定文件的信息,我们可以...这些函数不仅涵盖了基本的数据处理需求,还包括了一些高级功能,例如复杂的数学运算、日期时间处理等。通过合理地利用这些内置函数,开发者可以更加高效地完成数据库应用的开发工作。

    sybase日期函数全解析

    在Sybase数据库系统中,日期和时间的处理是数据库操作中的常见任务,这涉及到一系列的日期函数。本文将深入解析Sybase的四个主要日期函数及其应用。 1. **getdate()** 函数: - `getdate()` 用于获取当前系统时间...

    sybase 日期函数大全

    根据给定文件的信息,我们可以总结出Sybase数据库中与日期处理相关的多个实用函数及应用场景,以下将对这些函数进行详细解读: ### Sybase日期函数大全 #### 1. `GETDATE()` - **功能**: 获取当前系统日期和时间。...

    sybase日期函数

    在Sybase数据库管理系统中,日期和时间操作是数据处理中不可或缺的部分。本文将详细解析三个主要的Sybase日期函数:`getdate()`、`datepart()` 和 `dateadd()`,以及如何利用它们来处理和转换日期时间数据。 1. **...

    sybase函数大全

    3. **日期/时间函数**:这些函数处理日期和时间数据类型,如`GETDATE()`获取当前日期和时间,`DATEADD()`和`DATEDIFF()`分别用于增加或减少日期间隔,`YEAR()`, `MONTH()`, `DAY()`从日期中提取年、月、日等部分。...

    sybase sql API文件 中文版 pdf版

    主要涵盖Sybase数据库中的函数使用、事务处理以及触发器等内容。 ### Sybase数据库函数使用 #### 1. 数据类型与转换函数 在Sybase数据库中,数据类型非常丰富,包括数值型、字符型、日期时间型等。为了满足不同的...

    Sybase IQ 16.0中文版本 参考:构建块、表和过程

    **Sybase IQ 16.0**是一款高性能的列存储数据库管理系统,适用于大规模的数据仓库和分析处理场景。该文档是针对Sybase IQ 16.0 SP03版本的一份参考手册,主要面向需要了解SQL语句、语言元素、数据类型、函数、系统...

    Sybase的一些函数.txt

    Sybase还提供了一系列日期函数,以便进行日期和时间的处理。 - **getdate()**:返回当前系统日期和时间。 - **datename(datepart,date_expr)**:返回指定日期表达式的指定部分的名称。 - 参数: - `datepart`:...

    Sybase 常用语句

    4. **查看启动时间**:`select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1`显示了数据库的启动时间,有助于追踪服务器的运行历史。 5. **查看所有数据库**:`sp_helpdb`列出所有...

    Sybase常见问题汇总

    文件中提及了一系列SQL命令和函数,包括查看当前数据库的select db_name(),获取当前数据库的dbid的select db_id(),数据类型转换的convert(),获取当前时间的select getdate(),判断是否为空并赋予默认值的isnull,...

    sybase手册

    例如,SYSDATETIME() 返回当前系统日期和时间,COUNT() 计算指定列的行数,CONVERT() 将数据从一种类型转换为另一种类型。掌握这些函数的用法可以极大地提升数据库操作的便捷性和效率。 **命令**是与Sybase交互的...

    Sybase to GP

    在业务逻辑处理中,你可以使用`IF`和`ELSIF`结构进行条件判断,与Sybase的`IF...ELSE IF...ELSE`类似,但不需要使用`@`符号来表示变量,可以采用`v_`前缀来定义变量。 对于查询,Sybase中的`IF EXISTS (query)`和`...

    IQ参考手册_构建块、表和过程_ZHS

    - **日期和时间函数**:如GETDATE、DATEADD、DATEDIFF等,用于处理日期和时间数据。 通过以上概述,可以看出Sybase IQ不仅提供了强大的数据管理和查询功能,而且还具有丰富的语言元素、数据类型以及函数支持,以...

    异种数据库函数和标准SQL语法比较Oracle与SqlServer.rar

    1. **日期和时间处理**: - Oracle提供`SYSDATE`函数获取当前日期,而SQL Server使用`GETDATE()`。 - Oracle的`TO_DATE`和`TO_CHAR`用于日期和字符串之间的转换,SQL Server则有`CONVERT`函数。 - Oracle支持`ADD...

Global site tag (gtag.js) - Google Analytics