一、常用
1. 拼接
连接字段,直接使用 + 号,和java拼接方式一样
2. 拼接中间及结尾会有空格
可以使用 rtrim函数来去除补足的空格。
4. 数字类型转换
1)1变01
解析:
- 将变量Month 转换为2位的str类型字符
- 将其中的 ’ ’ (空字符) 转换为0
DECLARE @Month INT
set @Month=1
select replace(str(@Month,2),' ','0') AS "Month"

5. 字符串转成日期
1. CAST
cast是强制转换。
DECLARE @date1 char(10)
set @date1='2023-10-19'
select CAST(@date1 AS DATE) AS DATE
2. CONVERT
convert只是显示转换
定义和用法
①把日期转换为新数据类型的通用函数。
②可以用不同的格式显示日期/时间数据。
语法: convert(data_type(length),expression,style)
| 值 | 描述 |
|---|---|
| data_type(length) | 规定目标数据类型(带有可选的长度)。 |
| expression | 规定需要转换的值。 |
| style | 规定日期/时间的输出格式。 |
下面的表格展示了常用的 style 值:
| 值(YY) | 值(YYYY) | 输入/输出 | 标准 |
|---|---|---|---|
| - | 0 or 100 | mon dd yyyy hh:miAM (or PM) | |
| 1 | 101 | mm/dd/yyyy | |
| 2 | 102 | yyyy.mm.dd | ANSI |
| 3 | 103 | dd/mm/yyyy | |
| 4 | 104 | dd.mm.yyyy | |
| 5 | 105 | dd-mm-yyyy | |
| 6 | 106 | dd mon yyyy | |
| 8 | 108 | hh:mm:ss | |
| 7 | 107 | Mon dd, yyyy | |
| 10 | 110 | mm-dd-yyyy | |
| 11 | 111 | yyyy/mm/dd | |
| 14 | 114 | hh:mi:ss:mmm (24h) |
DECLARE @date1 char(10)
DECLARE @date2 char(10)
set @date1='2023-10-19'
set @date2='10/19/2023'
SELECT CONVERT(DATE,@date1)AS "DATE1",CONVERT(DATE,@date2,101) AS "DATE2"
SELECT CONVERT(VARCHAR(30),GETDATE(),113)--GETDATE() 函数来获得当前的日期/时间
3. FORMAT
二、条件判断
1. case when then
DECLARE @Month INT
set @Month=1
--方法一
select case @Month
when '1' then 'Jan'
when '2' then 'Feb'
else N'其他' end
--方法二
select case when @Month = '1' then 'Jan'
when @Month = '2' then 'Feb'
else N'其他' end
--方法三
select case when @Month in ('1','2','3') then N'第一季度'
when @Month in ('4','5','6') then N'第二季度'
when @Month in ('7','8','9') then N'第二季度'
when @Month in ('10','11','12') then N'第二季度'
else N'其他' end
三、函数
1. 去除空格
TRIM()
去除字符串两边的空格,后返回一个字符串。
LTRIM()
去除字符串左边的空格,后返回一个字符串。
RTRIM()
去除字符串右边的空格,后返回一个字符串。
DECLARE @char1 char(10)
DECLARE @char2 char(10)
DECLARE @varhcar1 VARCHAR(10)
DECLARE @varhcar2 VARCHAR(10)
set @char1='sdf'
set @char2='wef'
set @varhcar1='abc'
set @varhcar2='dew'
select @char1 + @char2,len(@char1 + @char1)
select @char1 + @varhcar1,len(@char1 + @varhcar1)
select RTRIM(@char1) + @varhcar1,len(@char1 + @varhcar1)--去除右边空格再拼接
select @varhcar1 + @varhcar2,len(@varhcar1 + @varhcar2)
2. 长度:LEN()
返回字符串的长度。
print N'长度 = ' + cast(len(@char1) as varchar)--在字符串前加大写N,转换成Unicode字符,即print N'xxxxx'才可以正常显示出中文
3.大小写
UPPER() 和 LOWER():分别将字符串转换为大写和小写。
4.其他
SUBSTRING():返回一个子字符串。
REPLACE():替换字符串中的指定部分。
2645

被折叠的 条评论
为什么被折叠?



