嗨:我有一张桌子,上面是这样的行:

ID_CATEGORIA CATEGORIA_DRG
------------ ---------------------------------------------------------------
1            001-002-003-543 Craniotomia
2            004-531-532 Interventi midollo spinale
3            005-533-534 Interventi vasi extracranici
4            006 Decompressione tunnel carpale

我想得到这样的东西:
    ID           CATEGORIA           DESCRIZIONE
    ------------ ------------------  --------------------------------------
    1            001-002-003-543     Craniotomia
    2            004-531-532         Interventi midollo spinale
    3            005-533-534         Interventi vasi extracranici
    4            006                 Decompressione tunnel carpale

我不需要更改表,“格式化”查询就足够了。

我认为SUBSTRING()对我来说是正确的功能,但是我不知道如何测量第一个(数字,短划线分隔)字段的长度。

在Python中,我会使用len("005-533-534 Interventi vasi extracranici".split(' ')[0])'找到该大小,但是我不知道如何在SQL中编写它

最佳答案

这样的事情应该做-

SELECT ID_CATEGORIA AS ID ,SUBSTRING(CATEGORIA_DRG,1,CHARINDEX(' ',CATEGORIA_DRG)) as CATEGORIA,SUBSTRING(CATEGORIA_DRG,CHARINDEX(' ',CATEGORIA_DRG),LEN(CATEGORIA_DRG)) AS DESCRIZIONE
FROM TABLENAME

10-06 00:09