【发布时间】:2020-02-27 16:58:28
【问题描述】:
我正在尝试分别在表(doughnut_ratings)的时间和列中插入值,但它给出了以下语法错误:
Msg 241, Level 16, State 1, Line 65 从字符串转换日期和/或时间时转换失败。
我正在写以下查询,请提出建议
create table doughnut_ratings
(
location varchar(30),
time time,
date date,
type char(30),
ratings int,
comments varchar(max),
)
insert into doughnut_ratings
values
('starbuzz coffee','7:43 am','4/23','cinnamon glazed',6,' too much price')
【问题讨论】:
-
既然是文字串,为什么不用24小时制呢?
-
我没有 24 小时格式的数据,而是上午/下午格式(12 小时)的数据。我将不得不以 24 小时格式更改每个值
-
另外,我对
'7:43 am'没有任何问题。TRY_CONVERT(time,'7:43 am')返回07:43:00.0000000。 db<>Fiddle 你真的尝试过插入这些值吗?如果他们失败了,那不是'7:43 am'失败了。 -
Try_convert(time,....) 工作。谢谢,在日期,我尝试了 try_convert(date,...) 但它给了我空值。我希望它采用任何默认值,例如 0000 或 2020。
-
您能告诉我们您使用的是什么 SQL 服务器吗? MySQL 中的@Larnu 我不能将这些用作日期,因此对于不同的 dbs 可能会有所不同
标签: sql sql-server date datetime