【问题标题】:Convert Timestamp to image?将时间戳转换为图像?
【发布时间】:2015-07-27 09:30:08
【问题描述】:

我查看了 MSDN (https://msdn.microsoft.com/en-us/library/ms187928.aspx) 上的 CAST 和 CONVERT 规范,SQL Server 数据类型转换表 (https://www.microsoft.com/en-us/download/details.aspx?id=35834) 允许在时间戳和图像之间进行隐式转换。

我的问题是 - 这样做的结果是什么(图像甚至会是什么样子?!),以及这种转换有什么用途?还是图像不是我想的那样?

【问题讨论】:

  • 图片不是图片,而是二进制字符串。用于存储小文件和各种其他内容,但不值得 1000 字。更多 here.
  • image 不是你想的那样,也可能不是timestamp。两者都描述了二进制格式。
  • 自己尝试一下 - 它们看起来完全一样。如前所述,它们都只是二进制数据。 ----- DECLARE @T TABLE (TS TIMESTAMP NOT NULL); INSERT @T DEFAULT VALUES; SELECT TS, CONVERT(IMAGE, TS) FROM @T;

标签: sql-server image tsql timestamp


【解决方案1】:

还是图像不是我想的那样?

确实如此。正如您假设图像是图片一样。当然不是。

来自MSDN

图片

从 0 到 2^31-1 (2,147,483,647) 的可变长度二进制数据 字节。

【讨论】:

    【解决方案2】:

    看起来像这样:

    select cast(cast(GETDATE() as timestamp) as image)
    
    select cast(cast(0x0000A49900F64E99 as image) as timestamp)
    

    【讨论】:

    • timestamp 数据类型与日期和时间无关。更新且信息更丰富的名称是rowversion
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2022-07-20
    • 2013-04-07
    • 2011-01-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多