sql中的函数
字符串函数
SELECT custid, country, region, city,
country + N',' + COALESCE(region, N'') + N',' + city AS location 如果为Null用''代替
FROM Sales.Customers;
-- Functions
SELECT SUBSTRING('abcde', 1, 3); -- 'abc'
SELECT RIGHT('abcde', 3); -- 'cde'
SELECT LEN(N'abcde'); -- 5
SELECT DATALENGTH(N'abcde'); -- 10 字节数
SELECT CHARINDEX(' ','Itzik Ben-Gan'); -- 6返回字符串中某个子字符串第一次出现的起始位置
SELECT PATINDEX('%[0-9]%', 'abcd123efgh'); -- 5 某个模式下第一个出现数字的位置
SELECT REPLACE('1-a 2-b', '-', ':'); -- '1:a 2:b'
SELECT empid, lastname,
LEN(lastname) - LEN(REPLACE(lastname, 'e', '')) AS numoccur
FROM HR.Employees;--计算某个字符出现的次数
SELECT REPLICATE('abc', 3); -- 'abcabcabc'按照指定的次数复制字符串
SELECT supplierid,
RIGHT(REPLICATE('0', 9) + CAST(supplierid AS VARCHAR(10)),
10) AS strsupplierid
FROM Production.Suppliers; //为10位前面自动补0
SELECT STUFF('xyz', 2, 1, 'abc'); -- 'xabcz' 先删除字符串中的一个字串,在插入一个新的子字符串作为替换stuff(string,pos,delete_length,insertstring)
SELECT UPPER('Itzik Ben-Gan'); -- 'ITZIK BEN-GAN'
SELECT LOWER('Itzik Ben-Gan'); -- 'itzik ben-gan'
SELECT RTRIM(LTRIM(' abc ')); -- 'abc'删除前后的空格