我正在使用 Flutter,并且正在研究從圖庫中獲取圖片串列并將它們轉換為將它們List<Uint8List>存盤在 SQL Server 資料庫中的功能。
我對存盤每個Uint8List資料的正確資料型別有疑問。When I was working with byte[]in other languages I was storing the data using varbinary(MAX)and it looked something like this: 0x89504E470D0A1A0A0000000D49484452000000380000004A080400000044655F5F0000016A49444154785EEDDA3F6AC33014C0E1DA2DC42521B3C76CB940F65CA2BD434ED06EED0172852CD93364EED05E2174CA0D32650A34E03FFA55E60D6F2826B5239B52DE7B48605BF2C7434618EC9B1E024D39EC33F80FA081E1C340030D34D040030D34D040460C48B86F980903468D4122DF5EC938F1D5304F64BCC81D1A81C40C58D326D624C4CD40212312B640F
現在List<Uint8List>每個檔案的資料看起來像:
[255, 216, 255, 225, 1, 182, 69, 120, 105, 102, 0, 0, 77, 77, 0, 42, 0, 0, 0, 8, 0, 7, 1, 16, 0, 2, 0, 0, 0, 26, 0, 0, 0, 98, 1, 0, 0, 4, 0, 0, 0, 1, 0, 0, 3, 192, 1, 1, 0, 4, 0, 0, 0, 1, 0, 0, 5, 0, 1, 50, 0, 2, 0, 0, 0, 20, 0, 0, 0, 124, 1, 18, 0, 3, 0, 0, 0, 1, 0, 1, 0, 0, 135, 105, 0, 4, 0, 0, 0, 1, 0, 0, 0, 152, 1, 15, 0, 2, 0, 0, 0, 8, 0, 0, 0, 144, 0, 0, 0, 0, 65, 110, 100, 114, 111, 105, 100, 32, 83, 68, 75, 32, 98, 117, 105, 108, 116, 32, 102, 111, 114, 32, 120, 56, 54, 0, 63, 63, 63, 63, 58, 63, 63, 58, 63, 63, 32, 63, 63, 58, 63, 63, 58, 63, 63, 0, 117, 110, 107, 110, 111, 119, 110, 0, 0, 16, 130, 157, 0, 5, 0, 0, 0, 1, 0, 0, 1, 94, 130, 154, 0, 5, 0, 0, 0, 1, 0, 0, 1, 102, 146, 146, 0, 2, 0, 0, 0, 4, 63, 63, 63, 0, 146, 145, 0, 2, 0, 0, 0, 4, 63, 63, 63, 0, 146, 144, 0, 2, 0, 0, 0, 4, 63, 63, 63, 0, 146, 10, 0, 5, 0, 0, 0, 1, 0, 0, 1, 110, 146, 9, 0, 3, 0, 0, 0, 1, 0, 0, 0, 0, 136, 39, 0, 3, 0, 0, 0, 1, 0, 100, 0, 0, 144, 4, 0, 2, 0, 0, 0, 20, 0, 0, 1, 118, 144, 3, 0, 2, 0, 0, 0, 20, 0
所以我對如何存盤這些資料以及我應該在 SQl Server 中使用什么資料型別感到困惑。
提前致謝。
uj5u.com熱心網友回復:
SQL Server 沒有直接映射到串列的資料型別,因此正確的選擇可能取決于您打算如何使用串列值。
一些選項:
- 創建一個新表并將每個串列值與將其關聯回主表的鍵值一起存盤在單獨的行中。這樣,您可以輕松地直接單獨處理所有值,并將值定義為
INT,但需要權衡附加表并確保正確關聯值。 (N)VARCHAR(MAX)- 將它們存盤為字符值允許您將串列存盤為 '[255, 216, 255, 225, 1, 182, 69, 120, 105, 102, 0, 0, 77, 77, 0, 42]'。這將串列分隔符和括號保持為邊界,然后讓您將其讀回代碼。INT但是,需要考慮資料型別和資料型別之間的轉換CHAR。如果您需要處理串列的值,您需要使用將串列轉換為表格,然后將資料型別STRING_SPLIT進一步CAST/轉換為.CONVERTCHARINT- JSON - 您還可以將串列操作為 JSON 格式并將其再次存盤在
VARCHAR(MAX)列中。好處是您可以使用 SQL Server 中的 JSON 函式來處理串列項。
希望這可以幫助
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/478453.html
