【发布时间】:2019-10-31 19:09:30
【问题描述】:
我试图在一个日期值上连接两个表,但是table1 的数据类型是 DATETIME,table2 的数据类型是 CHAR。
table1.[Birthdate] = table2.[Birthdate]
我尝试了以下转换: CONVERT(datetime,RIGHT(Birthdate,4)+LEFT(Birthdatee,2)+SUBSTRING(Birthdate,3,2))
但收到 “将 varchar 数据类型转换为 datetime 数据类型导致值超出范围。”
尝试将table2 Birthdate 存储为table2 中格式化为DATETIME 的新列时,我遇到了同样的错误。
我也试过了:
CONVERT(datetime,Birthdate,23)
返回“无法绑定多部分标识符“生日”。”
- Table1 生日值示例:1962-09-08 00:00:00.000 (datetime 数据类型)
- Table2 生日值示例:1964-12-11(char 数据类型)
【问题讨论】:
-
为什么要将日期存储为字符串?你应该解决这个问题。试试
CONVERT(datetime,table2.Birthdate,23) -
@Sami - “无法绑定多部分标识符“生日”。”是我运行这个时得到的响应消息。
标签: sql sql-server