1、取子字符串
left()、right()、substring():取子字符串
2、charindex(): 返回字符串中指定表达式的开始位置
patindex(): 返回指定“表达式中模式”第一次出现的开始位置
select 参照字段1,参照表 , left(参照字段1,charindex('.',参照字段1)-1)
from s_quickfieldslist
where 表名 = 'gd_js'
and 字段名称 = '部门编号'
and isnull(参照表,'') = ''
and charindex('.',参照字段1)>0
select patindex('%Hello%','WorldHello') 结果为:6
3、len() 、DataLength() 字符串长度
select Len('aaa') -- 反回3
select Len('计算机') --反回3
select DataLength('aaa' ) --反回3
select DataLength('计算机') --反回6
4、lower()、upper():字符串转换为大、小写
declare @cstring char(20)
set @cstring = ' AbCdEf '
select lower(ltrim(rtrim( @cstring ))) -- 去除前后空格转小写 显示: abcdef
select upper(ltrim(rtrim( @cstring ))) -- 去除前后空格转大写 显示:ABCDEF
5、 space():返回由重复的空格组成的字符串
replicate():以指定的次数重复字符串值
select replicate('abc', 4) /* 结果为:abcabcabcabc */
replicate() 例子:
-- 生成10位字符型的序号 格式 ‘000000001’
declare @i int
declare @c varchar(20)
set @i = 1
set @c = CONVERT(varchar(20),@i)
if ((10-LEN(@c))>0)
begin
select replicate('0', 10-LEN(@c))+ @c
end
6、replace():字符串替换
select replace('HelloWorld!','o','e') /* 结果为:HelleWerld! */
select stuff('abcdefgf', 2, 6, 'Hello-') /* 结果为:aHello-f */
select stuff('abcdefgf', 2, 6, 'Hello') /* 结果为:aHellof */
8、unicode():返回输入表达式的第一个字符的整数值
ascii():得到字符的ASCII码
Char():得到一个与ASCII码数字对应的字符
nchar():返回返回具有指定的整数代码的 Unicode 字符
select unicode('a') /* 结果为:97 */
select ascii('H') /* 结果为:72 */
select Char(72) /* 结果为:H */
select nchar(20013) /* 结果为:'中' */
9、LTRIM() 、RTRIM() 去空格函数
LTRIM() 把字符串头部的空格去掉。
RTRIM() 把字符串尾部的空格去掉。
set @cstring = ltrim(rtrim( @cstring ))
set @cstring = upper(ltrim(rtrim(isnull(@cstring,'')))) --去前后空格,转大写
10、str():返回由数字数据转换来的字符数据
select str(1234.436, 3) /* 结果为:'**';当表达式超出指定长度时返回'**' */
select len(str(1234.436, 3)) /* 结果为:3 */
select str(123.436), len(str(123.436)) /* 结果为:'123', 10 */
select str(123.436, 6), len(str(123.436, 6)) /* 结果为:'123', 6 */
select str(123.436, 6, 1), len(str(123.436,6, 1)) /* 结果为:'123.4', 6 */
11、 stuff():删除指定长度的字符,并在指定的起点处插入另一组字符
select stuff('abcdefgf', 2, 6, 'Hello-') /* 结果为:aHello-f */
select stuff('abcdefgf', 2, 6, 'Hello') /* 结果为:aHellof */
12、QUOTENAME()
返回被特定字符括起来的字符串。
QUOTENAME (<’character_expression’>[, quote_ character]) 其中quote_ character 标明括字符串所用的字符,缺省值为“[]”。
select QUOTENAME('表名','{}') --{表名}
13、数据类型转换函数
CAST()
CAST ( AS
CONVERT()
CONVERT (
declare @cday char(2)
-- 把天转换为字符型的天值
select @cday = CONVERT(char(2),day(日期))
from gd_js_sum_total a inner join inserted i
on a.序号 = i.序号
set @cday = ltrim(rtrim( @cday )) -- 去除前后空格
14、判断两值之间
日期 BETWEEN '2020-01-01' and '2020-2-31'