C# 如何在SQL中使用子字符串?
可能重复: 我可以转换下面的字符串数据 A320-200001-01-11 A320-200001-01-12 A320-200001-01-11 到 200001-01-11 200001-01-12 200001-01-11 但我需要 200001-01-1 200001-01-1 200001-01-1 距离-->200001-01-1 我怎样才能用SQL和C实现呢?你可以C# 如何在SQL中使用子字符串?,c#,sql,sql-server-2005,C#,Sql,Sql Server 2005,可能重复: 我可以转换下面的字符串数据 A320-200001-01-11 A320-200001-01-12 A320-200001-01-11 到 200001-01-11 200001-01-12 200001-01-11 但我需要 200001-01-1 200001-01-1 200001-01-1 距离-->200001-01-1 我怎样才能用SQL和C实现呢?你可以 SELECT DISTINCT SUBSTRING(....) FROM ... 我在重复的问题中也给出了这个答
SELECT DISTINCT SUBSTRING(....) FROM ...
我在重复的问题中也给出了这个答案 这里有一种使用PATINDEX的技术,它可以使用通配符
SUBSTRING(ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO,
PATINDEX('%[0-9]%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO),
PATINDEX('%(%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO)
- PATINDEX('%[0-9]%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO)
)
子字符串的起始位置是第一个数值%[0-9]%的位置。长度值是第一个括号“%”的位置减去起始位置。试着把它全部放在一篇文章中,我已经计算了3个,基本上是同一个问题,所以这几乎是一个完全相同的问题,但只是问了一个不同的问题
SUBSTRING(ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO,
PATINDEX('%[0-9]%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO),
PATINDEX('%(%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO)
- PATINDEX('%[0-9]%', ENG_CUSTOMERMYCROSS_MYTECHNIC_TASK_NO)
)