CHARINDEX ( expressionToFind , expressionToSearch [ , start_location ] )
expressionToFind :目標字符串,就是想要找到的字符串,最大長度為8000 。
expressionToSearch :用於被查找的字符串或字段。如果這字符,需要加引號,如果是表里的字段,則不需要加引號。
start_location:開始查找的位置,為空時默認從第1位開始查找。第1位就是1,而非0.
expressionToFind :目標字符串,就是想要找到的字符串,最大長度為8000 。
expressionToSearch :用於被查找的字符串或字段。如果這字符,需要加引號,如果是表里的字段,則不需要加引號。
start_location:開始查找的位置,為空時默認從第1位開始查找。第1位就是1,而非0.
SUBSTRING ( expression, start, length )
參數
expression
字符串、二進制字符串、文本、圖像、列或包含列的表達式。請勿使用包含聚合函數的表達式。
start
整數或可以隱式轉換為 int 的表達式,指定子字符串的開始位置,索引是從1開始。
length
整數或可以隱式轉換為 int 的表達式,指定子字符串的長度。經測試,暫且發現只能是非負數。
返回值
1.如果 expression 是一種支持的二進制數據類型,則返回二進制數據,這種情況我們暫且不討論。
2.如果 expression 是一種支持的字符數據類型,則返回字符數據。
substring(expression,charindex(',',expression)+1,len(expression)-charindex(',',expression))
charindex(',',expression)+1 從指定的字符串Expression或表字段中查找逗號的位置並且加1,表示從逗號的下一個位置開始算起。
len(expression)-charindex(',',expression) "字符串的長度"減去"逗號所在的位置"。
len(expression)-charindex(',',expression) "字符串的長度"減去"逗號所在的位置"。
substring(expression,charindex(',',expression)+1,len(expression)-charindex(',',expression)) 就表示從第一個逗號的下一個位置開始截取至字符串末尾的全部字符。
charindex(',','www.baidu,com_cn') --從第一個字符串開始,返回第一個逗號所在的位置,結果為10.
charindex(',','www.baidu,com_cn')+1 --結果為11,表示從逗號后第11位開始算起。
len('www.baidu,com_cn') - charindex(',','www.baidu,com_cn') 結果為6,表示逗后之后共有6個字符。
substring('www.baidu,com_cn',charindex(',','www.baidu,com_cn')+1,len('www.baidu,com_cn')-charindex(',','www.baidu,com_cn'))表示從逗號之后截取6個字符,結果為com_cn.
