本文介绍了给定示例的SQL查询应该是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 29岁程序员,3月因学历无情被辞! 表格结构 ID 21 2102 210201 21020101 我想要这样 ID ParantID - --------- ---- ------- 21 0 2102 21 210201 2102 21020101 210201 请帮我解决这个问题。什么应该是这个解决方案 的Sql查询快速解决方案可能像 DECLARE @ TBL 表 ( ID VARCHAR ( 20 )) INSERT INTO @ TBL (ID) SELECT ' 21 ' UNION ALL SELECT ' 2102' UNION ALL SELECT 210201' UNION ALL SELECT ' 21020101' 选择 案例 WHEN len(ID)= 2 那么 0 ELSE 左(ID, len(ID)-2) END 来自 @ TBL parentid是通过从id字符串的长度减去2得到的。所以试试这个: SELECT id,SUBSTRING(CONVERT(VARCHAR,id),1,LEN(CONVERT(VARCHAR,id)) - 2)+ 0 as parentid FROM tablename table structureID21210221020121020101I want Like ThisID ParantID----------- -----------21 02102 21210201 210221020101 210201Please help me out this. what should be the Sql query for this 解决方案 A quick solution could be likeDECLARE @TBL TABLE(ID VARCHAR(20))INSERT INTO @TBL (ID)SELECT '21'UNION ALLSELECT '2102'UNION ALLSELECT '210201'UNION ALLSELECT '21020101'select case WHEN len(ID) = 2 THEN 0 ELSELeft(ID, len(ID)-2) ENDfrom @TBLThe parentid is derived by substracting 2 from the length of the id string. So try this:SELECT id, SUBSTRING(CONVERT(VARCHAR,id),1,LEN(CONVERT(VARCHAR,id))-2)+0 as parentid FROM tablename 这篇关于给定示例的SQL查询应该是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持! 上岸,阿里云!
08-20 04:16
查看更多