m_batch01表第11位为1的批次排在最前
SELECT * FROM m_batch01 ORDER BY CHARINDEX(',' + SUBSTRING(BatchNo,11,1) +',',',1,0,2,')
该语句的解释,取BatchNo的第11位前后加上逗号,然后按按在字符串“,1,0,2”的顺序进行排序
注意“,1,0,2”,为BatchNo的第11位可能出现的值
charindex函数功能类似vb中的instr,取前面一个字符串在后一个字符串中的位置
本文详细解读了一个SQL语句,通过使用CHARINDEX和SUBSTRING函数,根据m_batch01表中批次的第11位是否为1来实现特定批次的排序。同时,文章介绍了这些函数的功能类比于VBA中的instr函数,并讨论了在字符串排序中的应用。
m_batch01表第11位为1的批次排在最前
SELECT * FROM m_batch01 ORDER BY CHARINDEX(',' + SUBSTRING(BatchNo,11,1) +',',',1,0,2,')
该语句的解释,取BatchNo的第11位前后加上逗号,然后按按在字符串“,1,0,2”的顺序进行排序
注意“,1,0,2”,为BatchNo的第11位可能出现的值
charindex函数功能类似vb中的instr,取前面一个字符串在后一个字符串中的位置

被折叠的 条评论
为什么被折叠?