一. 时间转换
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:ssconvert(varchar(10),字段名,转换格式)
cast(cad.id as varchar)  //把cad表的id字段转换为varchar字段,其中id字段为整型
比如:
select user_id,convert(varchar(10),date,11) as date from tb_userdateadd(日期部分,数值表达式,日期)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 yyyymmdSybase时间日期函数
2010年05月09日 星期三 下午 06:54Sybase日期函数
--------------------------------------------日期函数
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) --当月最后一天
enddeclare @st datetime,@ft datetimeset @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:ssselect rtrim(convert(char,@ft,111))+''+(convert(char,@ft,108))  -- yyyy/mm/dd hh:mi:ss---转化为数据格式20091011181960select 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中如果要查询在某个时间段, 应该写成:

日期 >= '2012/5/4' and 日期 <'2012/5/5'
ps : 如果写成between '日期' and '日期' 会报错.

三. 使用to_char(时间, ‘HH:mm:ss’)方法时需要注意
时间分为12小时制, 24小时制

‘hh:mm:ss’ 为12小时制, 转化的时间为下午(16:23:23)时, 会转化成04:23:23
相反: ‘HH:mm:ss’ 为24小时制, 转化的时间仍未16:23:23

sybase数据库中时间类型转换以及比较相关推荐

  1. 【原创】数据库中时间字段的值读取到DataSet中后,毫秒部分丢失。

    数据库中时间字段的值读取到DataSet中后,毫秒部分丢失. 在网上查了些解决方案,说读取时间时,先转化为DateTime类型,然后在ToString("yyyy-MM-dd HH:mm:s ...

  2. [导入]在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理

    在SYBASE数据库中使用游标(Cursors)将多行查询结果进行逐行处理 2000-08-16 14:47:33 在SYBASE数据库中,说明性数据库语言(SQL)是目前首推的最成功,应用最广泛的数 ...

  3. java hh24miss_Java编程时间格式与数据库中时间格式转化

    关于编程语言中的时间格式和关系型数据中的中时间格式问题的转化一直都是个简单而又不得不权衡的问题,这牵扯到数据库设计和SQL编程和应用程序中时间格式数据的处理的编程,两者总能够交缠在一起. 关于Java ...

  4. Sybase数据库常用时间操作

    Sybase数据库常用时间操作 --自动获取时间,并往前推一分钟 select DATEADD(MINUTE,-1,GETDATE())--自动获取时间,并往前推一小时 select DATEADD( ...

  5. spring boot 项目 前台向后台传递时间参数,插入到数据库中时间会少一天

    spring boot 项目 前台向后台传递时间参数,插入到数据库中时间会少一天 分析: 解决办法 分析: 经过测试,时间从前台传到后台数据是一样的,说明是后台向数据库传递过程中出现了问题 解决办法 ...

  6. oracle转换当前时间,oracle数据库中时间转化方法分享

    摘要: 下文讲述oracle数据库中时间转化方法分享,如下所示: 一.toChar 1.取得当前日期是本月的第几周 select to_char(sysdate,'W') from dual; sel ...

  7. 通过设置rowcount,从Sybase数据库中分页取数

    http://bijian1013.iteye.com/blog/1830421 虽然听说Sybase12.5.3版本以上的已经支持top查询了,但现在还是有很多系统用的是比较老的Sybase数据库, ...

  8. linux下数据库时间格式,Java编程时间格式与数据库中时间格式转化

    关于编程语言中的时间格式和关系型数据中的中时间格式问题的转化一直都是个简单而又不得不权衡的问题,这牵扯到数据库设计和SQL编程和应用程序中时间格式数据的处理的编程,两者总能够交缠在一起. 关于Java ...

  9. mysql date 24小时制_SpringBoor连接mysql数据库取数据库中时间格式是12小时制的时间,如何显示成24小时制...

    设置spring配置文件: 1.spring.datasource.url=jdbc:mysql://10.35.105.25:3306/database?characterEncoding=utf- ...

最新文章

  1. android设置app全局没通知声,从android中的firebase发送通知时没有通知声音
  2. 线程退出【Linux学习】pthread_create主线程与创建的新线程之间退出关系
  3. 基于matlab的人脸五官边缘检测方法,基于MATLAB的人脸识别系统的设计
  4. c语言找最长串指针改错,全国计算机二级C语言上机 (改错题)【DOC精选】.doc
  5. CEF:MFC 对话框 Demo(VS2013)
  6. 考试 彩色 离散化+类暴力
  7. Docker上部署FTP服务器(基于stilliard/pure-ftpd)
  8. 物理渲染-基于物理的光照模型
  9. 安卓模拟器切换横屏之后怎么返回竖屏
  10. freerdp 解压安装_Linux下安装FreeRDP,连接windows远程桌面的好软件 | 学步园
  11. 360分拆计划生变,临时剥离四大业务
  12. 【Matlab学习笔记】matlab的编程规则
  13. 阶段5 3.微服务项目【学成在线】_day03 CMS页面管理开发_02-自定义查询页面-服务端-接口开发...
  14. S3C6410 SD卡启动uboot分析(详细)
  15. 计算机组成原理408
  16. 微信支付商户平台app支付开通方法详解
  17. 计算apk包的安装之后占用空间以及运行时占用内存
  18. 新年新气象,牛年更牛,开始新的征程
  19. Spring中的DataSource
  20. 【致远FAQ】V5V8.0sp1_单位管理员-流程督办监控-批量移交-待分配事项,是什么意思?

热门文章

  1. Jquery实现京东tab切图
  2. Stay Hungry,Stay Foolish!Steve Jobs 毕业演讲的三点感悟
  3. 奇异矩阵能lu分解条件_矩阵分析-期末复习笔记(上)
  4. Neo4j Desktop版本的安装学习
  5. 64. Minimum Path Sum 路径最小总和
  6. ###好好好####深度学习---多标签分类问题
  7. 用启动盘点击修复计算机没有反应,电脑系统教程:u盘插电脑没反应
  8. OSError: [WinError 87]参数错误
  9. 向外国大师学习敏捷式开发?嫦娥掩面而笑
  10. PTA寒假基础题训练(含解题思路)(下)