【发布时间】:2025-12-28 07:35:07
【问题描述】:
一位客户给了我一个数据库,其中包含 VARCHAR(150) 中的所有字段。 我有一个格式为 dd/mm/yy 的日期字段,我愿意将其转换为 DATE 类型。 我发现您可以使用 CONVERT 函数来更改日期的类型,如下所示:
select convert(varchar, getdate(), 3)
给出:
30/12/06
但它仅在字段被识别为 DATE 时才有效。
我的要求是:
SELECT TOP(1000) CAST("Date" AS date) FROM "1_MVENTE"
我有这个错误信息:
从字符转换日期和/或时间时转换失败 字符串。
当一天超过 12 点时它会失败,因为 T-SQL 是预期的美国日期格式。 例如,2021 年 12 月 12 日有效,但 2021 年 13 月 12 日无效。
我不知道如何向 T-SQL 解释我的输入字段是 VARCHAR 但必须读取为日期 dd/mm/yy 才能进行转换。
【问题讨论】:
-
在第二个查询中使用
CONVERT()和样式3
标签: date tsql type-conversion format