给定示例的SQL查询应该是什么 [英] What should be the SQL Query for the given example
本文介绍了给定示例的SQL查询应该是什么的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
表格结构
ID
21
2102
210201
21020101
我想要这样
ID ParantID
- --------- ---- -------
21 0
< span class =code-digit> 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 structure
ID
21
2102
210201
21020101
I want Like This
ID ParantID
----------- -----------
21 0
2102 21
210201 2102
21020101 210201
Please help me out this. what should be the Sql query for this
解决方案
A quick solution could be like
DECLARE @TBL TABLE ( ID VARCHAR(20) ) INSERT INTO @TBL (ID) SELECT '21' UNION ALL SELECT '2102' UNION ALL SELECT '210201' UNION ALL SELECT '21020101' select case WHEN len(ID) = 2 THEN 0 ELSE Left(ID, len(ID)-2) END from @TBL
The 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查询应该是什么的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文