在SQL中添加标点符号

时间:2013-04-07 23:15:21

标签: sql database

我需要在表格中添加信息,但有标点符号。如何在不关闭语句的情况下添加这些内容?我正在使用 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”之后的撇号如果输入它会关闭song_name。那么如何在不关闭语句的情况下添加它呢?

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

示例:

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

可以吗?然后在INSERT语句中执行如上所示的操作?如果你提取这些信息,你会只使用UI逻辑吗?

3 个答案:

答案 0 :(得分: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逻辑将其转换为您想要显示的值。

答案 1 :(得分:1)

VALUES ( 500, 200, 'Doin'' it Right', 3, 42)

你需要通过加倍单引号来逃避报价。

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

答案 2 :(得分:-1)

不确定这是不是你的意思,你在谈论逃避特殊角色吗?

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

您使用什么语言来运行声明?

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