如何在SQL里边提取时间并转换成TIMESTAMP

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何在SQL里边提取时间并转换成TIMESTAMP相关的知识,希望对你有一定的参考价值。

如何在MSSQL环境里边提取时间并转换成TIMESTAMP格式,谢谢。
我要先GETDATE出来一个数据,但是他是DATETIME型的,我要直接让他成为TIMESTAMP型的,怎么做到。
那个我照着做了,但是程序说不允许DATETIME向TIMESTAMP的隐性转换,并让我使用CONVERT函数,我应该怎么做?
还有我想知道,如果我要存储操作日志为什么要用TIMESTAMP类型,用DATETIME不可以吗?还是说,书上的方法太累赘?

没看明白你的用意!! timestamp 通常用作给表行加版本戳的机制。 存储大小为 8 个字节。 timestamp 数据类型只是递增的数字,不保留日期或时间

每个数据库都有一个计数器,当对数据库中包含 timestamp 列的表执行插入或更新操作时,该计数器值就会增加。 该计数器是数据库时间戳。 这可以跟踪数据库内的相对时间,而不是时钟相关联的实际时间。 一个表只能有一个 timestamp 列。 每次修改或插入包含 timestamp 列的行时,就会在 timestamp 列中插入增量数据库时间戳值。使用某一行中的 timestamp 列可以很容易地确定该行中的任何值自上次读取以后是否发生了更改。 如果对行进行了更改,就会更新该时间戳值。 如果没有对行进行更改,则该时间戳值将与以前读取该行时的时间戳值一致。

你如果是要返回数据库的当前时间戳值,可以使用 @@DBTS。
@@DBTS 返回当前数据库最后使用的时间戳值。 插入或更新包含 timestamp 列的行时,将产生一个新的时间戳值。
USE AdventureWorks;
GO
SELECT @@DBTS
-------------------------------------------------

这样是吗?
SELECT
CAST(GETDATE() AS timestamp) AS UsingCast,
CONVERT(timestamp, GETDATE(), 120) AS UsingConvert;
GO
这是取当前时间并转换成 timestamp
参考技术A select CONVERT(varchar(8) , getdate(), 114 )

成了
参考技术B select cast(getdate() as timestamp)

如何从map中提取value并转换成long

 

old:

taskReportDataDTO.setUv(Long.valueOf(hbaseData.get(HbaseColumnEnum.uv).toString()));

 

 new:

taskReportDataDTO.setPv(MapUtils.getLong(hbaseData, HbaseColumnEnum.pv.name().toLowerCase(), 0L));

 

 

http://commons.apache.org/proper/commons-collections/apidocs/org/apache/commons/collections4/MapUtils.html

static <K> Long getLong(Map<? super K,?> map, K key, Long defaultValue)
Looks up the given key in the given map, converting the result into a long, using the default value if the the conversion fails.

以上是关于如何在SQL里边提取时间并转换成TIMESTAMP的主要内容,如果未能解决你的问题,请参考以下文章

团队-科学计算器-需求分析

《团队-科学计算器-需求分析》

rabbitmq 消费 json 消息并转换成 Java 对象

postgresql 两行数据时间之差

Qt笔记-当前时间转GMT并转换成英文(Qt构造http头中Date数据)

Linux内核中获取时间并转换成本地时区时间