SQL时间格式转number的问题

作者&投稿:才旦顺 (若有异议请与网页底部的电邮联系)
查询数据库时怎么把number转化成日期类型的~

SELECT --将字符串转换为时间 TO_DATE( --将number转换为varchar2 TO_CHAR(20141105), 'yyyymmdd') FROM DUAL;

  number类型的to_char是这么用的select to_char( 20150628 ,'9,999,999') from dual
  要实现你要的结果,必须这么写
  select to_char(to_date( '20150628' ,'yyyymmdd'),'yyyy/mm/dd') from dual
  把'2010052' 换成你字段I_Appr_Date就可以了.
  select to_char(to_date(col,'yyyy/mm/dd'),'yyyy/mm/dd') from tb
  下面是例子 :
  SQL> select to_date(20100628,'yyyy/mm/dd') from dual
  2 /
  TO_DATE(201006
  28-6月 -15
  SQL> select to_char(to_date(20100628,'yyyy/mm/dd'),'yyyy/mm/dd') from dual;
  TO_CHAR(TO
  2015/06/28

转换成int型会出错,SQL中好像没有number这种类型吧,不过你可以把时间的格式显示成数字的形式,具体转换参数如下:

select Convert(varchar(10),getdate(),120)

2006-05-12

select CONVERT(varchar, getdate(), 120 )
2006-05-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20060512110608

select CONVERT(varchar(12) , getdate(), 111 )
2006/05/12

select CONVERT(varchar(12) , getdate(), 112 )
20060512

select CONVERT(varchar(12) , getdate(), 102 )
2006.05.12

其它几种不常用的日期格式转换方法:

select CONVERT(varchar(12) , getdate(), 101 )
0612/2005
select CONVERT(varchar(12) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(12) , getdate(), 104 )
12.05.2006

select CONVERT(varchar(12) , getdate(), 105 )
12-05-2006

select CONVERT(varchar(12) , getdate(), 106 )
12 05 2006

select CONVERT(varchar(12) , getdate(), 107 )
05 12, 2006

select CONVERT(varchar(12) , getdate(), 108 )
11:06:08

select CONVERT(varchar(12) , getdate(), 109 )
0512 2006 1

select CONVERT(varchar(12) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(12) , getdate(), 113 )
12 052006

select CONVERT(varchar(12) , getdate(), 114 )
11:06:08.177

select getdate()
结果:2003-12-28 16:52:00.107

select convert(char(8),getdate(),112)
结果:20031228

select convert(char(8),getdate(),108)
结果:16:52:00

select convert(char(8),getdate(),112)

SELECT CONVERT(VARCHAR(12),CONVERT(SMALLDATETIME,'20070615'),111)
结果:2007/06/15

指日期格式规则如下:

1 101 美国 mm/dd/yyyy
2 102 ANSI yy.mm.dd
3 103 英国/法国 dd/mm/yy
4 104 德国 dd.mm.yy
5 105 意大利 dd-mm-yy
6 106 - dd mon yy
7 107 - mon dd, yy
8 108 - hh:mm:ss
- 9 或 109 (*) 默认值 + 毫秒 mon dd yyyy hh:mi:ss:mmmAM(或 PM)
10 110 美国 mm-dd-yy
11 111 日本 yy/mm/dd
12 112 ISO yymmdd
- 13 或 113 (*) 欧洲默认值 + 毫秒 dd mon yyyy hh:mm:ss:mmm(24h)
14 114 - hh:mi:ss:mmm(24h)
- 20 或 120 (*) ODBC 规范 yyyy-mm-dd hh:mm:ss[.fff]
- 21 或 121 (*) ODBC 规范(带毫秒) yyyy-mm-dd hh:mm:ss[.fff]
- 126(***) ISO8601 yyyy-mm-dd Thh:mm:ss:mmm(不含空格)
- 130* 科威特 dd mon yyyy hh:mi:ss:mmmAM
- 131* 科威特 dd/mm/yy hh:mi:ss:mmmAM

关于Emaker中字段的格式转换和字段间的运算代码可以加到属性里的“格式转换(读出)”和“格式转换(写入)”,table字段设定里的“字段”位置也可以灵活加函数。比如:'AF'+ID 或者ID+'/'+PWD ,convert(varchar(50),F1) ,

convert(int,%)-19110000 (读出)

convert(char(8),convert(int,%)+19110000) (写入)

实现行的合计运算等等。加入:%系统变量%,则是调用在Emaker 系统中设定的系统变量。

sqlserver 中的日期转换
在数据库取出来的时候就转换好
select getdate()

2004-09-12 11:06:08.177

我整理了一下SQL Server里面可能经常会用到的日期格式转换方法:

举例如下:

select CONVERT(varchar, getdate(), 120 )
2004-09-12 11:06:08

select replace(replace(replace(CONVERT(varchar, getdate(), 120 ),'-',''),' ',''),':','')
20040912110608

select CONVERT(varchar(10) , getdate(), 111 )
2004/09/12

select CONVERT(varchar(10) , getdate(), 112 )
20040912

select CONVERT(varchar(10) , getdate(), 102 )
2004.09.12

其它我不常用的日期格式转换方法:

select CONVERT(varchar(10) , getdate(), 101 )
09/12/2004

select CONVERT(varchar(10) , getdate(), 103 )
12/09/2004

select CONVERT(varchar(10) , getdate(), 104 )
12.09.2004

select CONVERT(varchar(10) , getdate(), 105 )
12-09-2004

select CONVERT(varchar(10) , getdate(), 106 )
12 09 2004

select CONVERT(varchar(10) , getdate(), 107 )
09 12, 2004

select CONVERT(varchar(10) , getdate(), 108 )
11:06:08

select CONVERT(varchar(10) , getdate(), 109 )
09 12 2004 1

select CONVERT(varchar(10) , getdate(), 110 )
09-12-2004

select CONVERT(varchar(10) , getdate(), 113 )
12 09 2004 1

select CONVERT(varchar(10) , getdate(), 114 )
11:06:08.177

这个很简单,按照获取时间排序即可。
select
*
from
(select
xzqmc,
row_number()
over
(order
by
getdate())
as
rownum
from
dic_xzdm)
mytable
where
rownum
between
10
and
20
--------------------------------
如果有自增主键那比用getdate强!

有冒号是不可以转换的,会提示:无效数字


硬盘坏道出现X能修复吗
nnBa2mCB4D cs&T2] 方法二:诺顿NU8.0也较好用。例如一块1.28G硬盘出现0磁道损坏故障,进入NU8工具包目录,运行其主程序NORTON.EXE,然后可先选“补救盘”RESCUE选项对该硬盘的引导区、分区表等信息进行备份。接着选择“磁盘编辑器DISKEDIT”,成功运行后选“对象OBJECT”,选“分区表”后可见本硬盘的参数...

CPU的一个问题?
其中支持64位逻辑定址,同时提供转换为32位定址选项;但数据操作指令默认为32位和8位,提供转换成64位和16位的选项;支持常规用途寄存器,如果是32位运算操作,就要将结果扩展成完整的64位。这样,指令中有“直接执行”和“转换执行”的区别,其指令字段是8位或32位,可以避免字段过长。 x86-64(也叫AMD64)的产生也并...

"BIOS绝对0扇区"是什么意思?
AD(y[9Y PdA C \\)?录,或卷标)的名字,扩展名,属性,生成或最后修改日期,时间,开始簇号,及文件大小。 %u\/P&lVV@t}\/vbJP;J6Yr u 目录项的格式 7q^y QS O(m g#u;VlQ%X字节偏移 意义 占字节数 "q}%HC+R%s2d S4F"g~6Br SW1g~00h 文件名 8b...

惠普笔记本电脑有哪几款性价比较高,配置较好的?
硬盘容量 250GB 硬盘描述 5400转 光驱类型 DVD刻录机 设计类型 光驱内置 光驱描述 双层 SuperMulti DVD±R\/RW 光驱 显卡\/音效

介绍个单机游戏吧各位在~
英 文 名:Chronicles.Of.Sealing.Gods 语 言:繁体中文 出 版 商: 英特卫 开 发 商: 戏魔师 类 型:角色扮演游戏 发布时间: 2004年 游戏特色 遗漏的史诗,消失的年代 人仙妖共存的世界,天地间模糊的分野 有鉴于一般的RPG,用尽了正义命题和英雄形象催化来寻求玩者认同,试图透过主角的某些「不幸...

请教!!高分感谢!!越详细分越高!,越详细分越高!
一开始使用的是短命的Socket 423接口,从1.5GHz起开始转用后来持续很长时间的Socket 478接口。Willamette核心P4是0.18微米制程,二级缓存256k,性能比较弱, 超频能力也一般。 接下来一代是Northwood核心,起跳频率是1.6GHz,最高到了3.4GHz,使用Socket 478接口。Northwood核心P4是0.13微米制程,二级缓存512k,性能表现逐渐成熟...

求eset nod32激活码,新的,时间越长越好
一、 更新 1打开NOD32——更新——用户名和密码设置——添加用户名:EAV-28244608 、密 码:72m3jc62dk——病毒库更新——确定ok,防护状态变绿了吧。2防护状态如果是黄色的,就关闭更新 点防护状态——此处——安装——立即安装-等待安装完成关闭、变绿了吧。用户名: EAV-28244608 密 码: ...

东方神起这个反转剧里的歌是叫什么名字啊
Sonmebody talks)只有时间知道的答案 歌词 [영웅] 잠에서 깨어도, 꿈꾸는것 같아아직도 내손 가득 베인 너...

求SJ三辑及以前的高清MV&LIVE
fs2you:\/\/Y2FjaGVmaWxlOC5yYXlmaWxlLmNvbS96aC1jbi9kb3dubG9hZC83ZTE2MmYwNjk3NzVmYjA5ODU5MTlhZWU4MDg5MmE1MC8lNUIlRTUlOTQlQUYlRTclODglQjFTSjEzJTVETWFycnklMjBVJTIwTVYlMjAlRTYlOTclQTUlRTglQUYlQUQlRTclODklODglRTUlOEYlOEMlRTglQUYlQUQlRTclODklQjklRTYlOTUlODglRTUlQUQlOTclRTUlQjklOTUlNUJKUF9DTi...

YEYEYE的英文歌词和中文翻译
Primetime: (广播电视)黄金时间 That actor has been on five prime time programs.那位演员已经上过五次黄金档的节目。Man: 这里是感叹词, 可以翻译成”啊”而不能翻译成"男人":-)Primetime Sexcrime 黄金时间性犯罪 演唱: Earphones Ye ye ye ye! O! 耶 耶 耶 耶! 呕!Ye ye ye ye! O!

库尔勒市13692046333: SQL时间格式转number的问题
锻溥清热: 转换成int型会出错,SQL中好像没有number这种类型吧,不过你可以把时间的格式显示成数字的形式,具体转换参数如下:select Convert(varchar(10),getdate(),120)2006-05-12 select CONVERT(varchar, getdate(), 120 )2006-05-12 11:06:08 ...

库尔勒市13692046333: 在sql语句中怎么把date类型转换为number类型,求高手.. -
锻溥清热: to_number(参数) 记得是这样,试试吧

库尔勒市13692046333: sql里时间能转换成整数类型吗 -
锻溥清热: 用cast函数来进行转换.先利用cast函数将数字型转为字符型,再用一次cast函数将字符型转为日期型.语句如下:select cast(cast(20050927 as varchar) as datetime) 结果如图:cast函数说明:语法:CAST (expression AS data_type) 参数说明:expression:任何有效的SQServer表达式.AS:用于分隔两个参数,在AS之前的是要处理的数据,在AS之后是要转换的数据类型.data_type:目标系统所提供的数据类型,包括bigint和sql_variant,不能使用用户定义的数据类型.

库尔勒市13692046333: sql中日期型转换为数字,是不是只有先转换成字符,再走number啊?
锻溥清热: 一般是这样的,不同的数据库使用的函数不太一样.比如oracle:to_number(to_char(date,'yyyymmdd'))

库尔勒市13692046333: 急:sql server数据库里,Jan 12 1955 12:00:00:000AM这种格式日期转数字日期 -
锻溥清热: 以你字段格式为字符类型处理的 select left(convert(varchar,cast(replace(replace(replace(replace(replace(replace(replace(replace( replace(replace(replace(replace(字段名,'Jan','1'),'Feb','2'),'Mar','3'),'Apr','4'),'May','5'),'Jun','6'),'Jul','7'),'Aug','8'),'Sep','...

库尔勒市13692046333: SQL 有什么函数让2个日期型的相减得到个number型的天数? -
锻溥清热: 这个问题问我最合适了. 在oracle数据库中,日期与日期相减得到的是小数类型.你要number类型就只有用四舍五人的原则了,round();

库尔勒市13692046333: mysql怎么把时间格式转化为数字 -
锻溥清热: 1.修改数据库连接字符串:如:驱动器com.mysql.jdbc.driver 改为 oracle.jdbc.driver.oracledriver 连接字符串jdbc:mysql://localhost:3306/xxx 改为 jdbc:oracle:thin:@localhost:1521:sid2.调整sql语句:如:分页查询select * from table_name limit 1, 20 ...

库尔勒市13692046333: SQL输出时间变成了数字 -
锻溥清热: JS编译时候的问题,页面重新拼接一下就好了,new Date(放那串数字),然后用getfullyear...等方法,获取你要的部分进行拼接,弄成想要的格式就好了.其他解决方法就是改数据格式,用字符串类型,别用datetime

库尔勒市13692046333: sqlserver中如何把数字转换成时间的格式?
锻溥清热: 把数字转换为时间,可以使用SQL的常用函数,常用的有下面四个函数,都给列了出来: (1)dateadd函数 作用是可以在向指定日期加上一段时间的基础上,返回新的 datetime 值; (2)datediff函数 返回跨两个指定日期的具体返回格式的差...

库尔勒市13692046333: Oracle怎样把varchar2型转成number型 -
锻溥清热: varchar2型转成number型的前提条件是varchar2中存放的数据必须是数字字符,否则在转换过程中会报错. 使用函数:to_number 具体方法: select to_number('100.10') from dual;结果:

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网