如何删除值的第一个字母并根据第一个字母更改值

时间:2019-06-13 07:35:11

标签: sql

我对编写SQL还是很陌生,如果第一个字母不是“ E”到“ TH”,我试图找到一种方法来更改输出中文本的值。然后,我需要代码从所有剩余值中删除“ E”。

我有一个存储过程,该存储过程通过一些where语句选择我需要的信息。这将生成“ ChildPartNumber”的列表,例如:

ERES0001

RES1111

ECAP0001

CAP1111

我需要显示以下列表:

RES0001

TH

CAP0001

TH

我正在使用存储过程,因为它已集成到另一个程序中,以允许导出到Excel。

2 个答案:

答案 0 :(得分:0)

您需要在这里CASE语句

SELECT 

    CASE WHEN (LEFT(myColumn , 1) = 'E') 
    THEN RIGHT(myColumn , LEN(myColumn) - 1) 
    ELSE 'TH' END AS UpdatedValues

FROM myTable

假设您的数据库为SQL-Server

答案 1 :(得分:0)

首先,您检查第一个字符是否为 E ,如果,则只需返回'TH',如果它是 E < / strong>,则按原样使用字符串,除了第一个字符(即E)

select case when left(yourColumnName, 1) != 'E' then 'TH' else right(yourColumnName, len(yourColumnName) - 1) end, * from yourTableName