我对编写SQL还是很陌生,如果第一个字母不是“ E”到“ TH”,我试图找到一种方法来更改输出中文本的值。然后,我需要代码从所有剩余值中删除“ E”。
我有一个存储过程,该存储过程通过一些where语句选择我需要的信息。这将生成“ ChildPartNumber”的列表,例如:
ERES0001
RES1111
ECAP0001
CAP1111
我需要显示以下列表:
RES0001
TH
CAP0001
TH
我正在使用存储过程,因为它已集成到另一个程序中,以允许导出到Excel。
答案 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