Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在SQL中使用子字符串?_C#_Sql_Sql Server 2005 - Fatal编程技术网

C# 如何在SQL中使用子字符串?

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 ... 我在重复的问题中也给出了这个答

可能重复:

我可以转换下面的字符串数据

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 ...

我在重复的问题中也给出了这个答案

这里有一种使用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)
                )