1

我需要在表格中添加信息,但有标点符号。如何在不关闭语句的情况下添加这些?我正在使用SQL SERVER 2012

例子:

INSERT INTO Song (song_id, album_id, song_name, song_length_minutes, song_length_seconds)
VALUES ( 500, 200, **'Doin' it Right'**, 3, 42)

如果您输入“Doin”之后的撇号,它将关闭歌曲名称。那么如何在不关闭语句的情况下添加它呢?

另外,打发时间的最佳方式是什么?在这个例子中,两者都是分开的,所以我认为它只是一个数值数据类型?那是对的吗?

例子:

CREATE TABLE Song (
song_length_minutes DECIMAL (5) NOT NULL,
song_length_seconds DECIMAL (5) NOT NULL );

这样做可以吗?然后在 INSERT 语句中做如上所示?如果您提取该信息,您会只使用 UI 逻辑吗?

4

3 回答 3

2

以下链接应该可以帮助您:-

http://www.orafaq.com/faq/how_does_one_escape_special_characters_when_writing_sql_queries

我建议阅读这篇文章,因为它也包含有关双转义序列的信息。

如页面所示: -

SELECT 'Frank''s Oracle site' AS text FROM DUAL;

您可以将时间存储为简单的秒数,然后使用您的 UI 逻辑将其转换为您想要显示的值。

于 2013-04-07T23:18:12.440 回答
1
VALUES ( 500, 200, 'Doin'' it Right', 3, 42)

您需要通过加倍单引号来转义引号。

使用 Sql 参数将为您执行此操作

于 2013-04-07T23:18:08.213 回答
-1

不确定这是否是您的意思,您是在谈论转义特殊字符吗?

INSERT INTO Song (song_id, album_id, song_name, song_length_minutes, song_length_seconds)
VALUES ( 500, 200, **'Doin'' it Right'**, 3, 42);

您使用什么语言来运行语句?

您可能应该将时间存储在时间字段中,从数据库到代码来回移动会容易得多。

于 2013-04-07T23:18:15.327 回答