tiberius/tds/codec/column_data/datetime2.rs
1use crate::{sql_read_bytes::SqlReadBytes, time::DateTime2, ColumnData};
2
3pub(crate) async fn decode<R>(src: &mut R, len: usize) -> crate::Result<ColumnData<'static>>
4where
5 R: SqlReadBytes + Unpin,
6{
7 let rlen = src.read_u8().await?;
8
9 let date = match rlen {
10 0 => ColumnData::DateTime2(None),
11 rlen => {
12 let dt = DateTime2::decode(src, len, rlen as usize - 3).await?;
13 ColumnData::DateTime2(Some(dt))
14 }
15 };
16
17 Ok(date)
18}