Which datatype to use to store TimeTaken field in SQLIte?
c#, sqlite, time
Solution
Use a `TimeSpan` in C#. This is meant to represent an elapsed duration of time, which is what you are describing.
In SQLite, you should store an `INTEGER` type so that your data is sortable. You simply need to decide what granularity you need.
For example, you could store the `TimeSpan.Ticks` if you care about the absolute finest precision possible. You would need an `INTEGER` of 8 bytes for this. When loading, you can use either `TimeSpan.FromTicks`, or the constructor `new TimeSpan(ticks)`.
More likely, you will want to store a whole number of seconds, which you can get from `TimeSpan.TotalSeconds`. You could probably use an `INTEGER` of 4 bytes for this. When loading, you can use `TimeSpan.FromSeconds` to recreate the timespan from your integer.
Problem
I want to create a field in SQLite DB(using C#) to store time taken(duration) field. The value will be in `hr:min:sec` format, like `'10:10:00'` which means 10 hrs, 10 min and 00 seconds. WHich Data type should I use for this? I know `DateTime` will not be adequate since its used to store date-time.