如何使用SQL去除ODBC连接获取数据中的文本引号?
当然可以!通过SQL语句就能轻松去除这些多余的双引号,我给你整理了几种适配不同数据库系统的常用方法,你可以根据自己的场景选择:
方法1:SQL Server / Access 通用方案
直接用REPLACE函数把所有双引号替换为空字符串,不管引号在什么位置都能去掉:
SELECT REPLACE(your_column, '"', '') AS cleaned_column FROM your_table;
把your_column换成你实际的列名,your_table换成目标表名就行。
方法2:MySQL / MariaDB 可选方案
除了上面的REPLACE,如果你的数据只有首尾带双引号(中间没有),用TRIM会更精准,避免误删中间可能存在的引号:
-- 去掉所有双引号 SELECT REPLACE(your_column, '"', '') AS cleaned_column FROM your_table; -- 只去掉首尾的双引号 SELECT TRIM('"' FROM your_column) AS cleaned_column FROM your_table;
方法3:PostgreSQL 进阶方案
基础的REPLACE和TRIM同样适用,如果遇到更复杂的情况(比如首尾有多个双引号),可以用正则替换:
-- 基础去所有引号 SELECT REPLACE(your_column, '"', '') AS cleaned_column FROM your_table; -- 只去掉首尾的引号(支持多个连续引号) SELECT REGEXP_REPLACE(your_column, '^"*|"*$', '', 'g') AS cleaned_column FROM your_table;
这个正则表达式会匹配开头和结尾的任意数量双引号,一次性清除干净。
小提示
如果不确定数据里的引号分布情况,可以先查几条样本确认:
SELECT your_column FROM your_table LIMIT 5;
这样能帮你选到最适合的处理方式~
内容的提问来源于stack exchange,提问作者JohnD
相关产品推荐
相关产品推荐

