我早上大部分时间都在研究这个问题,我认为我主要有解决方案,但我必须在某处出错。
我有一个表,它将列保存为一个长html文件。
我需要搜索该列并在mssql中返回该html文件的一部分,但我没有要使用的索引号。
到目前为止我的查询:
SELECT SUBSTRING(ColName, CHARINDEX('TxTStart', ColName), CHARINDEX('TxTEnd', ColName))
FROM htmlTable ht
WHERE ht.Date_ = '2009-01-01'
我的想法是,从txtStart到TxtEnd获取整个子字符串时,此查询的长度不正确。
我是否应该使用RTRIM,只需取出所有字符串,然后切断我需要的内容? 如果以上实际工作,我只是有其他错误吗?
或者我完全不在这里?
提前感谢任何帮助或提示。
答案 0 :(得分:4)
第3个参数是长度,因此您需要减去结束并开始获取长度。试试这个
SELECT SUBSTRING(ColName, CHARINDEX('TxTStart', ColName), CHARINDEX('TxTEnd', ColName) - CHARINDEX('TxTStart', ColName))
FROM htmlTable ht
WHERE ht.Date_ = '2009-01-01'