我需要在表格中添加信息,但有标点符号。如何在不关闭语句的情况下添加这些内容?我正在使用 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逻辑吗?
答案 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字段中,从数据库到代码来回移动会更容易。