You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何移除SQL查询结果部分返回行首的'-'符号

SQL移除查询结果行首'-'符号的解决方案

你可以直接在现有查询的基础上对输出字段做加工,以下是不同场景下的可用方案:

方案1:使用LTRIM移除开头连续'-'

适合PostgreSQL、SQL Server、MySQL 8.0及以上版本,可一次性移除字符串开头所有连续的'-',不会影响字符串中间的符号:

LTRIM(COALESCE( dim_Study_Type.classical_intelerad_study_description, '' ), '-') AS Classical_Intelerad_Study_Description,

方案2:使用正则替换(通用性更强)

几乎所有支持正则函数的主流数据库都可使用,逻辑为匹配字符串开头的所有连续'-'并删除:

REGEXP_REPLACE(COALESCE( dim_Study_Type.classical_intelerad_study_description, '' ), '^-+', '') AS Classical_Intelerad_Study_Description,

正则说明:^匹配字符串起始位置,-+匹配1个或多个连续的'-'

方案3:老版本SQL兼容方案

如果数据库不支持上述两种函数,可使用判断+截取的逻辑,仅移除开头单个'-':

CASE 
  WHEN LEFT(COALESCE(dim_Study_Type.classical_intelerad_study_description, ''), 1) = '-' 
  THEN SUBSTRING(COALESCE(dim_Study_Type.classical_intelerad_study_description, ''), 2)
  ELSE COALESCE(dim_Study_Type.classical_intelerad_study_description, '') 
END AS Classical_Intelerad_Study_Description,

内容的提问来源于stack exchange,提问作者user17170756

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 10:57:08