我在SQL Server中创建了一个表,并在时间列的表列中插入了值,我存储了一个从日志中检索到的长字符串值。
该日志返回一个像这样的时间字符串'1103873704755'
,现在我想用/
,(空白)和K像这样每隔两个字符
'11/03/87 37:04:755'
当前查询:
select top 1 Time
from tbl_ModBus
order by id desc
输出:
Time
-------------
1103873704755
预期:
Time
-------------
11/03/87/ 37:04:755
那么如何使用SQL查询获得所需的字符串?
答案 0 :(得分:1)
我不会使用另存为DateTime
的字符串,因为它将变得不稳定
如果您只想在每2个字符后在数据库行值中进行具体的/,:
。
最简单的方法是尝试使用FORMAT函数。
SELECT FORMAT(CAST('1103873704755' AS BIGINT),'##/##/## ##:##:###')
| |
|--------------------|
| 11/03/87 37:04:755 |
答案 1 :(得分:0)
我认为在SQL中没有内置函数可以完成这项工作。
在存储日期时,始终建议使用“ DATETIME”。
但是,如果您要存储数据和时间,最好使用“ TIMESTAMP”。
关于获得的值的所有更改,您可以使用所需的任何语言在编程代码中完成!