If you try the following script, you will create two fields:
LOAD * INLINE [
LOAD Evaluate(Test) as EvalTest, Test resident T;
drop table T;
The field Test is just a string but EvalTest is a number. If you include it in a list, you can see all the 18 digits, but when you write some expression with it, you will get the scientific notation (e.g. sum(EvalTest) ). So, I believe you are actually losing precision due to this notation, although QV can keep the original format when presenting just the field.
In my case, I don't want to make expressions with this field, and because of it is better to have it as string.
But, if we would need like a number, this thread could be useful for the comunity. So, I tryed with your suggestion, and the field has only Nulls.
I think that the problem is in the transition of SQL Select to Load, because the "where" clause works good, the Load sentence keeps taking the field like a number and, because of its >14 digits, couldn't take like that.
So, I can't understand why works well since the data comes from INLINE, and not from Select sentence.
I have checked the SQL base, and the field is "BigInt" type. Using "CAST", I format it to "Char" type. I can now take it like number, with Evaluate or simply Num function. Did you used Evaluate with SQL data?