Я новичок в Golang (но не в HANA), и я пытаюсь проверить go-hdb, чтобы вытащить данные из TCURR таблицу (из HANA DB SPS6). Из того, что я понимаю, находится в этой таблице, UKURS, FFACT, и TFACT все десятичные числа в базе данных HANA. Однако при получении от Go, которую я попытался извлечь с помощью row.Scan к Float64 так:Преобразование десятичной строки в строку из SAP HANA db с использованием драйвера go-hdb в golang
var mandt, kurst, fcurr, tcurr, gdatu, datum string
var ukurs float64
var ffact, tfact float64
if err := rows.Scan(&mandt, &kurst, &fcurr, &tcurr, &gdatu, &ukurs, &ffact, &tfact, &datum); err != nil {
log.Fatal(err)
}
Но увы, получаю ошибку, как этот
2016/08/18 10:18:31 sql: Scan error on column index 5: converting driver.Value type []uint8 ("@\xe2\x01\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x0060") to a float64: invalid syntax
Я стараюсь читать и понимать ошибку он выглядит как тип данных uint8 (или байт), однако я застрял в том, как преобразовать эти uint8/byte в строку.
Есть ли у кого-нибудь проблемы до и как получить десятичные данные и правильно их отобразить (т.е. распечатать их в консоли)?
Похоже вы передаете аргументы в неправильном порядке в 'строк .Scan() ', возможно, в индексе' 5' (на основе нуля) должно быть 'datum', а не' ukurs'? – icza
извините, но из индекса 0 - мант, курст, fcurr, tcurr, gdatu, а затем ukurs - индекс 5 (основанный на нуле) –