UPDATE A表一个字段的值等于B表的两个字段
具体如下:A表:IDA12012-10-122012-7-232012-7-9B表:IDBC1NULLNULL2NULLNULL3NULLNULL这两个表的ID是相关联的...
具体如下:
A表:
ID A
1 2012-10-1
2 2012-7-2
3 2012-7-9
B表:
ID B C
1 NULL NULL
2 NULL NULL
3 NULL NULL
这两个表的ID是相关联的
使用UPDATE语句实现效果如下
B表:
ID B C
1 2012-10-1 2012-10-1
2 2012-7-2 2012-7-2
3 2012-7-9 2012-7-9
就是B表的字段类型是varchar的
而A表是datetime 展开
A表:
ID A
1 2012-10-1
2 2012-7-2
3 2012-7-9
B表:
ID B C
1 NULL NULL
2 NULL NULL
3 NULL NULL
这两个表的ID是相关联的
使用UPDATE语句实现效果如下
B表:
ID B C
1 2012-10-1 2012-10-1
2 2012-7-2 2012-7-2
3 2012-7-9 2012-7-9
就是B表的字段类型是varchar的
而A表是datetime 展开
2个回答
展开全部
update B set B.B=A.A,B.C=A.A from A where A.ID=B.ID
-------------------
update B set B.B=convert(varchar,A.A,121),B.C=convert(varchar,A.A,121) from A where A.ID=B.ID
-------------------
update B set B.B=convert(varchar,A.A,121),B.C=convert(varchar,A.A,121) from A where A.ID=B.ID
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-03-11
展开全部
什么数据库呀?
如果是 SQL Server 的话
UPDATE
B
SET
B.B = A.A, B.C = A.A
FROM
B JOIN A ON ( B.ID = A.ID )
如果是 SQL Server 的话
UPDATE
B
SET
B.B = A.A, B.C = A.A
FROM
B JOIN A ON ( B.ID = A.ID )
追问
是SQL的
用你这个语句方法可以实现,但是有一个问题
就是B表的字段类型是varchar的
而A表是datetime
直接执行 B表填入的数据会变成 05 15 2012 12:00AM 这样的格式
追答
使用 Convert 函数, 把 日期类型, 转换为 字符类型。
SELECT 0 AS ID , Convert(VARCHAR(30), GETDATE(), 0 ) AS result UNION ALL
......
SELECT 121 AS ID , Convert(VARCHAR(30), GETDATE(), 121) AS result
下面是各个参数 对照的格式:
ID result
----------- ------------------------------
0 03 11 2013 6:04PM
100 03 11 2013 6:04PM
1 03/11/13
101 03/11/2013
2 13.03.11
102 2013.03.11
2 13.03.11
102 2013.03.11
3 11/03/13
103 11/03/2013
4 11.03.13
104 11.03.2013
5 11-03-13
105 11-03-2013
6 11 03 13
106 11 03 2013
7 03 11, 13
107 03 11, 2013
8 18:04:50
108 18:04:50
9 03 11 2013 6:04:50:890PM
109 03 11 2013 6:04:50:890PM
10 03-11-13
110 03-11-2013
11 13/03/11
111 2013/03/11
12 130311
112 20130311
13 11 03 2013 18:04:50:890
113 11 03 2013 18:04:50:890
14 18:04:50:890
114 18:04:50:890
20 2013-03-11 18:04:50
120 2013-03-11 18:04:50
21 2013-03-11 18:04:50.890
121 2013-03-11 18:04:50.890
(36 行受影响)
如果你要求结果是 2013-03-11 这样的格式
UPDATE
B
SET
B.B = Convert(VARCHAR(10), A.A, 120),
B.C = Convert(VARCHAR(10), A.A, 120)
FROM
B JOIN A ON ( B.ID = A.ID )
就可以了。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询