在SQL中添加标点符号

在SQL中添加标点符号,sql,database,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) CREATE TABLE Song ( song_length_minutes DECIMAL

我需要在表格中添加信息,但有标点符号。如何在不关闭语句的情况下添加这些内容?我正在使用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)
CREATE TABLE Song (
song_length_minutes DECIMAL (5) NOT NULL,
song_length_seconds DECIMAL (5) NOT NULL );
如果输入“Doin”,则在“Doin”后加上撇号,以结束歌曲名称。那么,如何在不关闭语句的情况下添加此内容

还有,利用时间的最好方式是什么?在这个例子中,两者都是分开的,所以我想它只是一个数值数据类型?对吗

例如:

INSERT INTO Song (song_id, album_id, song_name, song_length_minutes, song_length_seconds)
VALUES ( 500, 200, **'Doin' it Right'**, 3, 42)
CREATE TABLE Song (
song_length_minutes DECIMAL (5) NOT NULL,
song_length_seconds DECIMAL (5) NOT NULL );
这样可以吗?然后在INSERT语句中执行如上所示的操作?您是否仅在提取该信息时才使用UI逻辑

VALUES ( 500, 200, 'Doin'' it Right', 3, 42)
您需要通过将单个报价加倍来转义报价


使用Sql参数将为您实现这一点

以下链接将帮助您:-

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

如页面所示:-

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

您可以将时间存储为秒,然后使用UI逻辑将其转换为希望显示的值。

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

INSERT INTO Song (song_id, album_id, song_name, song_length_minutes, song_length_seconds)
VALUES ( 500, 200, **'Doin'' it Right'**, 3, 42);
您使用什么语言运行该语句


您可能应该将时间存储在一个字段中,这样从DB到代码之间来回移动就容易多了。

考虑使用存储过程和参数化查询。