SQL混合数字和字符类型

SQL混合数字和字符类型,sql,Sql,我在sqlite3数据库中有许多表,它们具有cost INT属性 我现在的情况是,在我的一个表中,cost有三个可能的有效值:NULL、一个数字或“X” 是否有一种方法允许在属性中同时输入数字和字符 我曾考虑过将成本作为一个字符(1),并且: CONSTRAINT ck_cost CHECK (ISNUMERIC(cost) OR cost = 'X') 但是,我将无法将成本值设置为文字整数,它们必须放在引号中('1'而不是1)。这与我的其他表格不一致。将我的评论升级为按要求回答:) 只需添加

我在sqlite3数据库中有许多表,它们具有
cost INT
属性

我现在的情况是,在我的一个表中,cost有三个可能的有效值:
NULL
、一个数字或“X”

是否有一种方法允许在属性中同时输入数字和字符

我曾考虑过将成本作为一个
字符(1)
,并且:

CONSTRAINT ck_cost CHECK (ISNUMERIC(cost) OR cost = 'X')
但是,我将无法将成本值设置为文字整数,它们必须放在引号中(
'1'
而不是
1
)。这与我的其他表格不一致。

将我的评论升级为按要求回答:)


只需添加另一个字段(“属性”),表示成本为X。将数字保存为文本只比将日期保存为文本好一点——这两种方法迟早都会失败。

成本为X的原因是什么?只需添加另一个字段(“属性”),表示成本是X。将数字保存为文本只比将日期保存为文本好一点——这两种方法迟早都会失败。@podiluska“X”表示动态cost@Arvo这很好-回答这个问题,我会接受NULL代表什么,与0不同的东西?