Sql 如何在Oracle Varchar2中存储连字符/破折号

Sql 如何在Oracle Varchar2中存储连字符/破折号,sql,oracle,Sql,Oracle,我试图在Oracle12cVarchar2字段中使用连字符(也称破折号)存储一些文本。 但是,当我在表格值上进行选择时,连字符/破折号会产生一个有趣的符号。在使用破折号之前,我尝试过逃跑,但这仍然产生了一个看起来很滑稽的符号。 如何在Oracle中正确存储宣传画/破折号? 谢谢你把答案作为评论太长了 首先,您必须确定插入破折号或获取破折号时的问题。要进行验证,请在列上运行此命令 select * from table where column like '%-%'; 如果您得到输出,这意味着它

我试图在Oracle12cVarchar2字段中使用连字符(也称破折号)存储一些文本。 但是,当我在表格值上进行选择时,连字符/破折号会产生一个有趣的符号。在使用破折号之前,我尝试过逃跑,但这仍然产生了一个看起来很滑稽的符号。 如何在Oracle中正确存储宣传画/破折号?
谢谢你

把答案作为评论太长了

首先,您必须确定插入破折号或获取破折号时的问题。要进行验证,请在列上运行此命令

select * from table where column like '%-%';
如果您得到输出,这意味着它被正确存储。所以问题在于显示它


如果你没有得到输出,那意味着你没有正确地插入它。在这种情况下,请显示insert语句。您只需将破折号视为任何其他字符串。

您只需将破折号放在单引号中,没有什么特别之处。我建议你发布你的插入/更新代码-那里有问题。对于这种问题,最有可能的嫌疑是非标准破折号。例如,在排版中,除了连字符外,还有en破折号和em破折号,它们可能出现在不同字符集中的非标准位置。为了准确地找出数据库中存储的内容,您可以运行select dumpcolumn\u name from table\u name-这将显示字符代码;以及数据库的字符集。