数据字段的类型

时间:2009-03-13 12:42:14

标签: database database-design datetime types nvarchar

嘿伙计们和gals,我在桌子上有一个字段,我将在其中存储不同类型的数据,例如:X-Large,Medium,Small ......或者我可能存储:2009年3月22日,1年,2年,3年......或06月,12个月,1年,或者我可能存储:“33-36”,“37-40”......并且数据不固定,我可能需要将来要添加新类别......

数据类型的明显选择是nvarchar(长度),还有其他任何建议吗?有办法绕过这个???谢谢你... ...

4 个答案:

答案 0 :(得分:3)

听起来你正试图存储“大小”。也许您需要一个“大小”表,其中包含这些值(X-Large,Medium,Small,1 Year等)以及另一个表中的ID字段。

为什么你还想在同一个字段中存储日期对我来说有点混乱。你确定你不应该有两个不同的领域吗?

<强> ETA: 根据您的评论,我建议创建一些额外的表格:

SizeType - 定义您正在使用的“尺寸”类型(例如童装,童鞋,男鞋,女鞋,男士衬衫,男士裤子,女士衬衫,女士裤子等)。将有两列 - 一个ID和一个描述。

尺寸 - 定义各个尺寸(例如“尺寸5”,XL,33-34,0-6个月等)。将有三列 - 和ID,一个描述,以及SizeType中相应的SizeType id。

现在在您的产品表上,您将从大小表中输入ID。这为您提供了一些灵活性,可以添加新的尺寸,确定哪种尺寸与哪种产品类型等有关。您可以进一步细分以使设计更好,但我不想在这里过于复杂化

答案 1 :(得分:1)

无论你做什么,这样的数据库设计看起来都不好。

但是,你可以使用BLOB数据类型只存储列中的任何数据,或者使用文本类型(如果它是文本)(这样搜索会更好地工作,理解大小写等)。

答案 2 :(得分:0)

nvarchar(max)可以工作。否则,您可能有多个列,每个列都有一个。这样可以防止你将双精度数字转换成字符串并返回。

答案 3 :(得分:0)

  • nvarchar(max)如果数据是 限制为小于的字符串 2GB。
  • ntext如果你需要允许的话 超过2Gb的字符串。
  • 二进制或图像,如果您需要存储 二进制数据。