需要在SQL行中插入破折号(-)

时间:2018-08-16 13:16:55

标签: sql sql-server tsql insert character

我正在使用SQL SERVER,并且我想插入(不选择)行,其值类似于123456-7,因此它们像在数据库中那样存储,但是我尝试了每种类型的专栏,他们将不允许我这样做。

如果我将其设置为接受空值,它将不会执行查询或将值交换为NULL。

实际数据库设置

enter image description here

正确插入

Insert into Personal_Cost
Values ('2018-01-01', 'a', '79745060', 1000) 

错误插入

Insert into Personal_Cost
Values ('2018-01-01', 'a', '79745060-1', 1000) 

2 个答案:

答案 0 :(得分:0)

Varchar当然可以存储您要存储的数据...

create table #table
(lname varchar(150))

insert into #table
(lname)
values
('123456-7-8')

select * from #table

答案 1 :(得分:0)

我不得不手动将每个有缺陷的破折号(-)替换为一个空格,因为它既不允许我也不插入下划线(_)。

我不知道这是怎么回事,如果是Microsoft Tool或一个不允许的字符被误认为是破折号(我怀疑这是因为我自己替换了它),但是它并没有按照我想要的方式工作。 / p>

希望您的答案对其他可能遇到类似问题的人有用。