Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个定义为 varchar(20) 的 SQL Server 电话号码字段。像“800-555-1212”这样的电话号码没有问题,但像“(800) 555-1212”这样的电话号码会导致“数据将被截断”错误。为什么会这样?
该示例可以很好地插入以这种方式定义的字段(我运行了一个测试)。
您可能会添加一些不可见的字符,例如制表符和回车符。
或者,您可能有一个基于该字段(我们有一个 phone_number_stripped 字段仅存储数字)的计算字段(或触发器中的代码),该字段已考虑了剥离 - 但不是(或)。
一个值可以“像”那个值,但在两端用空格填充。
确保您的软件能够处理这种情况。我建议允许空间,但自动修剪它。