【发布时间】:2012-10-01 17:52:20
【问题描述】:
正如标题所说,如果我有一个表有这样的结构
create table myTable
(
ID int identity(1,1) not null,
col1 varchar(20) not null,
col2 varchar(20) not null
constraint pk_myTable primary key (ID)
)
如果我在此表中插入一些值,它将自动在 col ID 中取值。我想知道一种方法可以让 SQL Server 在列中存储等效的十六进制。说,对于1,它应该存储0x012 as 0x02...10 as 0xA等等?
我不想知道任何技巧之类的东西,我知道我可以将此列创建为varchar,然后为插入创建一个过程,或为插入创建一个触发器,这将执行所需的转换并产生想要的结果,这不是大问题。
但我想知道是否有一个内置函数/程序/触发器可以帮助我实现我想要实现的目标?不一定在SQL Server 2008,但可能在2012,有没有这样的东西?
【问题讨论】:
-
它以二进制形式存储
INT是否打扰您?您要求的是格式化显示值。看看here。 -
为什么你觉得有必要控制 SQL 如何存储这个值?它有什么用途?
标签: sql-server sql-server-2008 tsql hex sql-server-2012