select 100 --结果是 100
select 100 + 200 --结果是300
select 100 + '1000' --结果是 1100, SQLSERVER内部把字符串转换成整数
select 100.0 + '1000' --失败,需要做类型转换
--cast(表达式 as 数据类型)
--convert(数据类型,表达式)
select 100.0 + cast('1000' as int) --结果 1100.0
select 100.0 + convert(int,'1000') --结果 1100.0
-----------------------------------------
按类型为 varchar/nvarchar类型的列排序,需要进行类型转换,否则按字符的ASCII来排序
select * from 表名 order by convert(int,列名) desc
--------------------------------------------------------------------------------------------------------------------------
日期
select GETDATE() --返回日期
select convert(vchar(50),GETDATE(),120) --返回2020-04-24 11:09:52
select convert(vchar(10),GETDATE(),120) --返回2020-04-24