zoukankan      html  css  js  c++  java
  • Sybase datetime 时间转换格式 convert(varchar(10),字段名,转换格式)

    convert(varchar(10),字段名,转换格式)
    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中输出的是不一样的结果。

    转载:http://blog.sina.com.cn/s/blog_8297f0d001013uqf.html

  • 相关阅读:
    centos 查看硬盘情况
    centos 修改默认启动内核,及删除无用内核
    Linux centos关机和重启命令
    MySQL同步故障:" Slave_SQL_Running:No" 两种解决办法
    centos下直接使用命令备份mysql数据库
    centos下导入mysql数据库
    HDP 3.1.0 集成 Sqoop2
    HDP 3.1.0 集成 Sqoop2 踩坑问题记录
    Spark-Bench 测试教程
    PySpark DataFrame 添加自增 ID
  • 原文地址:https://www.cnblogs.com/rusking/p/5032687.html
Copyright © 2011-2022 走看看