2013-03-11 89 views
2

我需要一个将数据附加到单元格现有值的查询。 对于EG: 当前单元格的值:“2013年3月15日”更新后 值:“2013-03-15,2013-03-25”将数据附加到单元格现有值的SQL查询

它甚至有可能? 注意:我不想一次更新整个列。只有细胞。

+0

你可以给样品记录吗? – 2013-03-11 07:26:47

+0

该列的数据类型是什么。你为什么想这样做?如果您正尝试为该列添加多个值,请**不要这样做**。最好添加一个新列或一个新表。 – 2013-03-11 07:27:31

+0

@ user2063626我不能使用它,因为我不想计算日期我想追加已经存在的数据。其中也包括“,”(逗号)。 – Arbaaz 2013-03-11 07:27:57

回答

3

尝试是这样的:

UPDATE tblMyTable 
    SET MyCell = MyCell + ',' + 'My Other Value' 

或者

UPDATE tblMyTable 
    SET MyCell = MyCell + ',' + @MyParameter 

请记住,类型MyCell将需要基于文本,例如:nvarchar(256)等...

+0

就在当场。 – Arbaaz 2013-03-11 08:19:38

0

如果您使用日期,则不可能。使用文本数据类型。

首先,从相应单元的数据库读取数据,然后通过字符串连接追加数据。

接下来,更新细胞

while (myReader.Read()) 
{ 
String d1=myReader["dat"].ToString()); 
} 
String d2=d1+","+your_variable or data 

更新它

0

不要这样做。创建另一列,如newDate并将您的新值存储在那里。当你使用日期时,你必须存储它们,比如日期,而不是文本。或者,您可以将您的日期存储在单列中,并将某些外键存入您引用的学生表中。

1

如果假设你使用datetime数据类型,则必须:

创建一个表,例如RequestDateTime:

Create table REQUEST_DATE_TIME(
    REQUEST_ID VARCHAR(10), -- or whatever PK your main table use 
    Request_date DATETIME 
) 

两个表之间再加入关系。如果你告诉你想达到什么样的

Update table set DateTimeCell = DateTimeCell + CAST(@VALUE AS VARCHAR) 

也许你能得到更好的答案:

然而,当您使用VARCHAR(n)的数据类型,你可以做一个简单的。

相关问题