sql server 基础知识(二)字符串处理-1

一、常用

1. 拼接

连接字段,直接使用 + 号,和java拼接方式一样

2. 拼接中间及结尾会有空格

可以使用 rtrim函数来去除补足的空格。

4. 数字类型转换

1)1变01

解析:

  1. 将变量Month 转换为2位的str类型字符
  2. 将其中的 ’ ’ (空字符) 转换为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 100mon dd yyyy hh:miAM (or PM)
1101mm/dd/yyyy
2102yyyy.mm.ddANSI
3103dd/mm/yyyy
4104dd.mm.yyyy
5105dd-mm-yyyy
6106dd mon yyyy
8108hh:mm:ss
7107Mon dd, yyyy
10110mm-dd-yyyy
11111yyyy/mm/dd
14114hh: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():替换字符串中的指定部分。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝丶曦月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值