繁体   English   中英

具有图像数据类型的聚合函数

[英]Aggregate function with image data type

image数据类型执行聚合功能的最佳方法是什么?

例如,其中binImage是image数据类型,并且我想返回binImage或null:

max( case when somechar = 'A' and anotherchar = 'B' then binImage else null end ) as result

...将不起作用,因为max不支持图像数据类型。

我知道image已贬值。

无论如何,映像实际上只是一个varbinary,因此只需将其照原样投射,然后根据需要将其投射回去。 这是一个示例,向您展示它的工作原理。

DECLARE @Table AS TABLE (I IMAGE)

INSERT INTO @Table (I) VALUES (CAST('abcdefghi' AS IMAGE)),(CAST('abcdefghi' AS IMAGE)),(CAST('abcdefghi' AS IMAGE))


SELECT CAST(MAX(CAST(I AS VARBINARY(MAX))) AS IMAGE) as Img
FROM
    @Table
SELECT
Mediums,
CAST([1] AS IMAGE) '1',
CAST([2] AS IMAGE) '2',
CAST([3] AS IMAGE) '3'
FROM
(
    SELECT
    m.Description 'Mediums',
    u.ID,
    CAST(d.ArtWorkPicture AS VARBINARY(MAX)) 'Picture'
    FROM CDD_OrderDetail d
    INNER JOIN CDD_Mediums m ON d.MediumID = m.ID
    INNER JOIN CDD_UniqueUnits u ON d.UniqueUnitID = u.ID   
) tblTemp
PIVOT
(
  MAX(Picture)
  FOR ID in ([1],[2], [3])
) tblPIVOT;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM