У нас есть старая таблица 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
Если EmployeeID
7135, этот запрос должен вернуться 007135
.
FORMAT
функция, как C # :-)
int
значения занимают значительно меньше места char(6)
, и таких записей будет несколько для каждой детали, которая будет произведена. Эффективность.
DATALENGTH()
) два байта каждый. Поскольку столбец может быть в индексе, вы можете сэкономить более 2 МБ. А с добавлением других столбцов этих 2 байтов может быть достаточно, чтобы уменьшить длину строки, достаточную для сохранения страницы размером 4 КБ на строку. Будет ли это размещено на мобильной платформе, или вы можете сосредоточить свое внимание на непродуктивной области?
0
s важны для этого поля, зачемINT
вообще менять его на?