sql怎么讲整型转换为日期型好麻烦!!!
平时为了方便存储和查询,通常会选择将时间存储为毫秒或者秒的形式。但是页面显示的时候很不直观,需要将整型数字转化成日期格式,转化方式包括下面几种:
1、秒数与Date之间的转换:select from_unixtime(1388776825);
还可以定义时间格式,用法如下:
SELECT FROM_UNIXTIME( 1388776825, '%Y-%m-%d %H:%m:%s');
结果:2014-01-04 03:01:25
SELECT FROM_UNIXTIME( 1388776825, '%Y年%m月%d' )
结果:2014年1月4
2、将秒数转为Date:SELECT UNIX_TIMESTAMP('2014-03-23 10:10:40')
如果想逆向转换,可以通过unix_timestamp()函数反向转换。用法如下:
SELECT UNIX_TIMESTAMP() ;//获取当前时间的秒数
SELECT UNIX_TIMESTAMP('2014-03-23 10:10:40') ; //获取指定日期格式的秒数
SELECT UNIX_TIMESTAMP('2014-03-23') ; //获取指定日期格式的秒数
扩展资料:
一、date型换int型
SELECT UNIX_TIMESTAMP(‘2017-9-22 13:54:45’)
二、int型转date型
SELECT FROM_UNIXTIME(1506059685)
需要注意的是,一个int值转换为DateTime 需要从1970年1月1日0点0分0秒开始,但是必须明确,这个时间是标准时间,而不是北京时间。
数据库中数据的时间都是以标准时间为准绳的。所以必须转换到当前时间, 中国是+8 ,可以简单的调用ToLocalTime达到效果。
你这肯定是有问题的,把int型的转为日期型肯定要溢出的
数据库一般从1900年到9999年
中间有2958463天,也就是说最大值是他.
如果你的int型是20121130这样的数据的话,
那就是把int先转varchar型,然后再转datetime型.
可以用一个语句来实现:
declare @a int
set @a=20110320
select convert(datetime,cast(@a as varchar(8)),21)
你是什么数据库呢?
Oracle / DB2 / MySQL 的话, 是可以 整型20110320,先转层字符串型‘20110320’,然后直接转日期型了。
不需要中间那个 拼接成‘2011-03-20’
SQL Server 好像也是可以 不需要中间那个 拼接成‘2011-03-20’ 的。
例如:
1> select CONVERT(DATETIME, '20110320', 112)
2> go
-----------------------
2011-03-20 00:00:00.000
(1 行受影响)
1>
sql用convert函数
oracle用to_date和to_char
select cast('20110320' as datetime)
这样不行吗?我这可以啊
select cast(cast(20110320 as varchar(8)) as datetime)
要么就这样
里面有内置方法的啊,不行的话就只能写方法了
hive是什么意思
2.架构 Hive的架构有三层:用户界面、驱动程序和执行引擎。用户界面负责接受HiveQL语句,驱动程序将这些语句转换为MapReduce任务,并将执行结果返回给用户界面。执行引擎是MapReduce框架,它执行对数据的实际查询。在Hive的架构中,还包括Metastore和Hive Server。Metastore维护着关于表、分区和表的元数据信息(...
sqlserver截取日期的年份和月份
五、datepart函数返回的是整型数值,如果需要返回字符型,那么使用datename()函数,用法与datepart相同,只是返回数据类型不同。
冒险岛国际版055gm命令怎么用?急急急急急!!!
map ———地图切换 ban ———封号 unban ———解封 summon ———怪物召唤 blue ———蓝色公告 popup ———顶置公告 white ———白色公告 red7 ———红色公告 shop ———管理员商店 jail ———玩家禁止 unjail ———取消玩家禁止 pos ———定位系统 item ———增添物品 level —...
督邢托恩: 在oracle中:select to_date(to_char(2007)||'-'||to_char(7)||'-'||to_char(1),'yyyy-mm-dd') from dual;在sql server中:convert(datetime,convert(varchar(4),2007)+'-'+convert(varchar(1),7)+'-'+convert(varchar(1),1))
呼兰县17372392998: sql 整型数字怎么转换成时间格式 - ?
督邢托恩: 字符串或类似字符串的整数转换为日期时间 str_to_date(20150711201734, '%Y%m%d%H%i%s') 或 str_to_date('2015-07-11 20:17:34', '%Y-%m-%d %H:%i:%s')
呼兰县17372392998: sql中long怎样转换成date类型 - ?
督邢托恩: new java.sql.Date(这里面放入long长整型); 肯定对的.你可以试一下.new java.sql.Date((new java.util.Date()).getTime());
呼兰县17372392998: 如何将long型的时间转换成Datetime型的 - ?
督邢托恩: 第一种,强制转换,如SQL中的cast函数 第二种,后面加字符串" 00:00:00",
呼兰县17372392998: pgsql里边怎样把integer类型转换为date类型? - ?
督邢托恩: 可以转的,只要你清楚数据库存储时间的真正格式. 事实上是float的 一天分为24小时,而小数点前面的整数就是天数,把24小时作为1.也就是说 1.5的意思,实际上是1天12个小时.单位可能不一定对,大概就是这么个意思以此类推,往后的小数点排列不用我说了吧?如果不相信,可以试试这个select cast(getdate() as float)
呼兰县17372392998: sql中年月是int如何转换为datetime类型?
督邢托恩: select dateadd(mm,@m-1, dateadd(yy,@y-1900,'1900-1-1'))
呼兰县17372392998: 如何把整型转换为日期型 - ?
督邢托恩: 不同的软件,函数不同,而且起始点日期也不同,写法结果都不同.比如oracle用1970/01/01 为时间起点,10000的整型就是在这个时间起点上加10000秒,to_date('1970/01/01','yyyy/MM/dd')+10000/24/60/60 oracle中的日期加减是用天来做单位的,所以后面要计算.如果用C#的话 DateTime.MinValue.AddSeconds(10000) ,就可以获取初始日期之后,10000秒时间点的时间了.其他的软件,有其他的写法.
呼兰县17372392998: 在SQL中,如何将int转换为datetime - ?
督邢托恩: 在建造基本表的时候可以定义
呼兰县17372392998: sql server 或者oracle能不能把获取到的时间长整型如1370344060125转换成下期日期格式 - ?
督邢托恩: 你提供的数值感觉像是Unix时间戳,但是比Unix时间戳多了后边3位,如果去掉后边3位后的值1370344060对应的时间是2013-06-04 11:07:40 ,跟你说的时间又有所差异.只能提供给你个SQL Server中的思路,如果你提供的值当作Unix时间戳的话可以利用DATEADD来得到对应的时间值 SELECT DATEADD(second,1370344060125/1000,'1970-1-1') 结果是2013-06-04 11:07:40.000
呼兰县17372392998: oracle以及sqlserver中,怎么把java里面获取的13位长整型时间如1367911599921,转换成日期型 - ?
督邢托恩: String shijian="1367911599921"; long date=Long.parseLong(shijian); Date de=new Date(date); SimpleDateFormat format = new SimpleDateFormat("yyyy-dd-mm HH:mm:ss"); System.out.println("时间:"+format.format(de)); String sql="to_date("+de+",'YYYY-MM-dd hh:mm:ss')";//放入sql语句自己写完整