sql - 如果是 SQL 中的字母,如何选择子字符串但省略最后一个字符
问题描述
DECLARE @CUSTOMER_ID VARCHAR(50)
SELECT @CUSTOMER_ID = 'RS/123/2017(SA)'
PRINT @CUSTOMER_ID
DECLARE @CUSTOMER_ID1 VARCHAR(50)
SELECT @CUSTOMER_ID1 = 'RS/123/2017SA'
PRINT @CUSTOMER_ID1
我需要一个可以返回我的 customer_ID 的函数,字符串中的最后一个字符除外。我只能使用以下功能处理第一个。
case when charindex('(',@CUSTOMER_ID) = 0 then @CUSTOMER_ID
else left(@CUSTOMER_ID,charindex('(',@CUSTOMER_ID)-1))
解决方案
你可以像这样使用子字符串:
SELECT SUBSTR(@CUSTOMER_ID, 0, LENGTH(@CUSTOMER_ID) - 1) FROM your_table
推荐阅读
- google-bigquery - 在 BigQuery 中将字符串解析为日期时间
- c# - 如何处理任务返回的 IDisposables 数组?
- python - 带有 CLI 和配置脚本的 python 项目结构
- python - 试图将元组中的值分配给变量,“解包的值太多(预期为 4)”
- python - Python 差异库?软件崩溃匹配
- javascript - Mongoose 按子文档的值查找
- selenium - Chrome 浏览器更新到版本 88 后,所有 Protractor 测试均失败
- r - 将 for 循环中的 ggplots 组织到单个数组中
- tensorflow - @tensorflow/tfjs-node-gpu 与 NVIDIA P4 一起使用,但在 GKE 上使用 V100 失败
- python - How to perform cross check between to different length columns in dataframes and create an a new dataframe?