Это решение делает только один выбор из YourTable, поэтому он быстрее. Он работает только для MySQL и SQLite (для SQLite удаляет DESC) в соответствии с тестом на sqlfiddle.com. Возможно, он может быть настроен для работы на других языках, с которыми я не знаком.
SELECT *
FROM ( SELECT *
FROM ( SELECT 1 as id, 1 as rev, 'content1' as content
UNION
SELECT 2, 1, 'content2'
UNION
SELECT 1, 2, 'content3'
UNION
SELECT 1, 3, 'content4'
) as YourTable
ORDER BY id, rev DESC
) as YourTable
GROUP BY id
Если это форма окна Datagrid, вы можете использовать приведенный ниже код для форматирования datetime для столбца
dataGrid.Columns[2].DefaultCellStyle.Format = "MM/dd/yyyy HH:mm:ss";
EDIT:
Кроме этого, если вам нужно datetime в формате AM / PM, вы можете использовать приведенный ниже код
dataGrid.Columns[2].DefaultCellStyle.Format = "MM/dd/yyyy hh:mm:ss tt";
Используйте свойство Column.DefaultCellStyle.Format или установите его в конструкторе
Вы можете установить формат в aspx, просто добавьте свойство «DateFormatString» в свой BoundField.
DataFormatString="{0:dd/MM/yyyy hh:mm:ss}"
Вы можете установить желаемый формат:
dataGridViewCellStyle.Format = "dd/MM/yyyy";
this.date.DefaultCellStyle = dataGridViewCellStyle;
// date being a System.Windows.Forms.DataGridViewTextBoxColumn
Опубликовано Microsoft в Стандартные строки формата даты и времени :
dataGrid.Columns[2].DefaultCellStyle.Format = "d"; // Short date
Это должно форматировать дату в соответствии с настройками местоположения человека.
Это часть более крупной коллекции Microsoft Formatting Types в .NET .
Я использовал этот код. Надеюсь, он может помочь
dataGridView2.Rows[n].Cells[3].Value = item[2].ToString();
dataGridView2.Rows[n].Cells[3].Value = Convert.ToDateTime(item[2].ToString()).ToString("d");