У нас есть старая таблица SQL, которая использовалась SQL Server 2000 почти 10 лет.
В нем номера бейджей наших сотрудников хранятся char(6)от 000001до 999999.
Сейчас я пишу веб-приложение, и мне нужно хранить номера значков сотрудников.
В моей новой таблице я мог бы сократить путь и скопировать старую, но я надеюсь на лучшую передачу данных, меньший размер и т. Д., Просто сохраняя intзначения от 1до 999999.
В C # я могу быстро отформатировать intзначение для номера значка, используя
public static string GetBadgeString(int badgeNum) {
return string.Format("{0:000000}", badgeNum);
// alternate
// return string.Format("{0:d6}", badgeNum);
}
Как мне изменить этот простой SQL-запрос, чтобы также отформатировать возвращаемое значение?
SELECT EmployeeID
FROM dbo.RequestItems
WHERE ID=0
Если EmployeeID7135, этот запрос должен вернуться 007135.
FORMATфункция, как C # :-)
intзначения занимают значительно меньше места char(6), и таких записей будет несколько для каждой детали, которая будет произведена. Эффективность.
DATALENGTH()) два байта каждый. Поскольку столбец может быть в индексе, вы можете сэкономить более 2 МБ. А с добавлением других столбцов этих 2 байтов может быть достаточно, чтобы уменьшить длину строки, достаточную для сохранения страницы размером 4 КБ на строку. Будет ли это размещено на мобильной платформе, или вы можете сосредоточить свое внимание на непродуктивной области?
0s важны для этого поля, зачемINTвообще менять его на?