sqlserver substring函数用法
SQL Server的SUBSTRING函数是一个字符串函数,用于提取一个字符串中指定位置的子字符串。它是在SELECT、INSERT、UPDATE和DELETE语句中使用的。它是从指定的起始位置开始提取字符串中的字符,并返回从指定的起始位置开始的指定长度的字符。如果没有指定子字符串的长度,SUBSTRING函数将返回从指定位置开始的所有字符。
SUBSTRING函数的语法如下:
```
SUBSTRING(string, start, length)
```
- string是要从中提取子字符串的原始字符串。
- start是从中提取子字符串的起始位置。
- length是要提取的子字符串的长度。
下面是一些SUBSTRING函数用法的示例:
1. 提取字符串中的一部分
```
SELECT SUBSTRING('Hello World', 7, 5)
```
这将返回“World”,因为它从字符串的第7个字符(W)开始提取5个字符。子字符串是什么
2. 使用变量作为参数
```
DECLARE @String VARCHAR(50) = 'Goodbye World'
DECLARE @Start INT = 8
DECLARE @Length INT = 5
SELECT SUBSTRING(@String, @Start, @Length)
```
这将返回“World”,因为它从字符串的第8个字符(W)开始提取5个字符。
3. 提取字符串的一部分作为列值
```
SELECT FirstName, SUBSTRING(LastName, 1, 3) AS Initials
FROM Employees
```
这将返回一个名为“Initials”的列,其中包含每个员工姓氏的前三个字符。
4. 提取字符串中的最后一个单词
```
DECLARE @String VARCHAR(100) = 'The quick brown fox'
SELECT SUBSTRING(@String, LEN(@String) - CHARINDEX(' ', REVERSE(@String)) + 2, LEN(@String))
```
这将返回“fox”,因为它是字符串中的最后一个单词。
5. 使用CASE语句根据子字符串的值选择不同的值
```
SELECT ProductName,
      CASE SUBSTRING(ProductCode, 1, 1)
          WHEN 'A' THEN 'Category A'
          WHEN 'B' THEN 'Category B'
          ELSE 'Unknown'
      END AS Category
FROM Products
```
这将返回一个名为“Category”的列,其中包含每个产品的分类。如果产品代码以“A”开头,则将其归类为“Category A”,如果以“B”开头,则将其归类为“Category B”,否则将其归类为“Unknown”。
总之,SUBSTRING函数是一个非常有用的函数,可以帮助您从指定的起始位置开始提取字符串中的字符,并返回从指定的起始位置开始的指定长度的字符。这是SQL编程中不可或缺的一部分。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。