1.数据类型
char(10):不足十个字符,用空格补全,数据定长;非统一字符编码,一个汉字要占两位char(2)
nchar(10):不足十个字符,用空格补全,数据定长;统一字符编码,一个汉字占一位 nchar(1)
varchar(10):不足十个字符,不补全,数据不定长;非统一字符编码,一个汉字要占两位varchar(2)
nverchar(10):不足十个字符,不补全,数据不定长;统一字符编码,一个汉字占一位nvarchar(1)
char型定长,varchar型不定长,加n,统一字符编码,兼容性更好
2.函数
日期函数
select getdate()
–查看当前时间
select datediff(day,getdate(),‘2026-1-1’)
–查看当前距离2026-1-1还有多少天
文本函数
select upper(‘abcd’)
–输出abcd
select upper(left(lname,3))from employee
–输出employee表,lname列最左侧3个字符
运算函数
select title,**ceiling(19.99)**from titles
–ceiling,取整
数据类型转换函数
(1)
select cast(19.99 as varchar(10))+‘啦啦啦’
–把数值19.99转换为varchar(10)型数据,拼接后输出
如果不转换类型,会无法输出
(2)
select convert(numeric(10,2),‘19.99’)
把字符型的数’19.99’转换成数值型,总位数为10位,小数点后保留2位
(3)
select title+‘的价格是’+**convert(varchar(10),price)**from titles
把数值列price的数值转换为varchar(10)型的数据
3.变量
自定义变量
declare @myinput varchar(20)
–声明一个变量,变量名为myinput,类型为varchar(20)
set @myinput=‘computer’
–设置变量值为’computer’
select * from titles
where title like ‘%’+@myinput +‘%’
–使用自定义变量查找
条件语句
declare @inputprice int
声明变量
set @inputprice=20
设置变量初始值
if @inputprice>0
判断条件,满足
begin
select * from titles
where price>@inputprice
end
else
条件不满足
begin
select’重新输入’
end
–注意比较的类型,int,float……不同类型不可以比较