2
有沒有方法來聚合字符串值,如果它是唯一的或返回NULL。例如,給定表 「STUFF」:如何聚合唯一字符串值或NULL
Col_A | Col_B | Col_C | Col_D
1 | Foo | Bar | 6
2 | Foo | NoBar | 0
2 | Foo | Foo | 4
1 | Foo | Bar | 6
所以這個SQL
SELECT SUM(COL_A), STR_AGG_FUNC(COL_B), STR_AGG_FUNC(COL_C),SUM(COL_D) FROM STUFF
將返回:
Col_A | Col_B | Col_C | Col_D
6 | Foo | NULL | 16
有沒有性能上的損失,因爲固有的類型轉換的這種做法?在生產中,我的桌子很大。 – mjenkins
這裏沒有真正的固有類型轉換。它只是使用列的區分大小寫順序來返回第一個/最後一個。這與訂單varchar列的順序相同。 'b'只是基於它們的Unicode值(或者類似的ASCII十進制或十六進制或十進制順序)來到'A'之前。但是,總體功能可能會造成一般性徵稅。指標顯然是最大/最小的一個因素。 – scsimon