首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我试图用值填充表,但是转换失败了。

我试图用值填充表,但是转换失败了。
EN

Stack Overflow用户
提问于 2022-01-18 15:12:14
回答 2查看 102关注 0票数 0

我正在创建一个数据库,我试图用值填充表,但我得到了错误。

Msg 241,第16级,状态1,第3行 从字符串转换日期和/或时间时,转换失败。

查询代码:

代码语言:javascript
复制
INSERT INTO Register_of_crimes (id_crime , Date, List_of_crime , Fine)
VALUES ('1', '1989-3-6', 'Rušenie nočného kľudu', '30'),
       ('2', '1991-3-3', 'Poškodzovanie cudzej veci', '50'),
       ('3', '2011-3-3', 'Pitie alkoholu na verejnosti', '20'),
       ('4', '1999-6-5', 'Výtržnosti na verejnosti', '40')

我创建的表:

代码语言:javascript
复制
CREATE TABLE Register_of_crimes
(
    id_crime int,
    Date date,
    List_of_crime varchar (150),
    Fine money,
    PRIMARY KEY (id_crime)
)

谢谢你所有的回答和建议

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-01-18 15:31:33

您应该实际使用19910303,而不是破折号。

Server在大多数语言中将1991-03-03解释为YYYY-DD-MM,如下所示:

代码语言:javascript
复制
SET LANGUAGE Deutsch;    
SELECT CONVERT(datetime, '1991-03-13');

结果:

会员国242,第16级,第3状态 Bei der Konvertierung eines varchar-Datentyps in einen datetime-Datentyp liegt der Wert au erhalb des gültigen Bereichs。

(如果转换为date,它实际上工作得很好,但这是一个例外,最好始终保持相同的、毫不含糊的格式。)

您还应该确保可能包含Unicode字符的字符串以正确的数据类型(可能是正确的排序规则)声明,并且所有字符串文本都以N作为前缀。以及不被字符串分隔符包围的整数。所以我希望:

代码语言:javascript
复制
List_of_crime nvarchar(150)
--------------^

...and...

代码语言:javascript
复制
VALUES (1, '19890306', N'Rušenie nočného kľudu', 30)
票数 4
EN

Stack Overflow用户

发布于 2022-01-18 15:33:58

使用明确的日期和时间格式。在Server中,它们是yyyyMMddyyyy-MM-ddThh:mm:ss.nnnnnnn。另外,当数据类型是数字的时候,不要用单引号(')包装它们,这是用于文字字符串的。我假设您的值是yyyy-M-d格式的。

代码语言:javascript
复制
INSERT INTO Register_of_crimes (id_crime , Date, List_of_crime , Fine)
VALUES (1,'19890306','Rušenie nočného kľudu', 30),
       (2,'19910303','Poškodzovanie cudzej veci',50),
       (3,'20110303','Pitie alkoholu na verejnosti',20),
       (4,'19990605','Výtržnosti na verejnosti',40);

另外,您可能会发现,您为List_of_crime插入的值由于字符在代码页之外而遭受数据丢失(例如,ľ可能被隐式转换为l)。如果是这种情况,则需要对表进行ALTER,以便List_of_crimenvarchar,然后使用nvarchar文本字符串,例如N'Rušenie nočného kľudu'

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70757936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档