我们有一个旧的SQL表,SQL Server 2000使用了将近10年。
在其中,我们的员工证件编号存储为char(6)
从000001
到999999
。
我现在正在编写一个Web应用程序,并且需要存储员工证卡号。
在我的新表中,我可以使用快捷方式来复制旧表,但是我希望通过简单地存储int
from 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()
)两个字节。由于该列可能在索引中,因此您可以节省超过2MB。加上其他列,这2个字节可能足以减少一行的长度,从而每行节省4KB页面。这是要在移动平台上托管,还是您可能将注意力集中在非生产性领域?
0
s对于该领域很重要,为什么要将其INT
全部更改为?