SQL SERVER-靈活使用select
select 1000*0.1+10 as money
select *,address as '地址' from userinfo
select *,u.address from userinfo as u
select count(*) from userinfo--找最短的列就行統計
select count(1) from userinfo--引入常數列,並進行統計
select GETDATE()
select @@VERSION
select *,ROW_NUMBER() over(order by id desc)from userinfo
--顯示最大值最小值
select max(UnitPrice)as max,min(UnitPrice) as min from Products
--選擇按UnitPrice升序排序,同樣的UnitPrice按照UnitsInStock升序排序
select * from Products order by UnitPrice asc,UnitsInStock asc
--選擇UnitPrice最大前三名
select top 3 * from Products order by UnitPrice desc
--選取所有的UnitPrice,要求不要重複的
select distinct UnitPrice from Products order by UnitPrice asc
--選取CategoryID,UnitPrice,並且沒有兩行重複的,distinct對選取的左右列一起使用
select distinct CategoryID,UnitPrice from Products
--選擇ProductName以ch開頭的
select * from Products where ProductName like 'ch%'
--選擇ProductName第二個字母是h的
select * from Products where ProductName like '_h%'
--選擇ProductName中含有'的,兩個單引號表示一個單引號
select * from Products where ProductName like '%''%'
--選擇Address中含有數字的
select * from Suppliers where Address like '%[0-9]%'
--選擇Address中含有中括號的
select * from Suppliers where Address like '%[[]%'
--選擇Region為null的
select * from Suppliers where Region is null
--選擇每個國家供應商個數
--只要用了group by,select 後面只能跟group by 後面的列和聚合函式
select Country,COUNT(1) as Count from Suppliers group by Country
--sql中int和字串不能直接連線,需要轉換成nvarchar型別
select CONVERT(nvarchar(32),SupplierID)+CompanyName from Suppliers
--cast 轉換
select Cast(SupplierID as nvarchar(32))+CompanyName from Suppliers
--獲取時間
select GETDATE()
--給當前時間加上一天
--引數定義:單位,個數,日期
select DATEADD(day,1,'2015-3-1')
--兩個時間差
select DATEDIFF(month,'2015-5-1','2015-9-8')
select DATEDIFF(SECOND,'2015-5-1','2015-9-8')
--取時間的某一部分
select DATEPART(YEAR,'2015-6-5')
select DATEPART(MONTH,'2015-6-5')
select DATEPART(DAY,'2015-6-5')
--另外一種獲得時間的某一部分
select YEAR('2015-8-9')
select month('2015-8-9')
select day('2015-8-9')
select * from Suppliers
--字串大小寫轉換
select LOWER(CompanyName) from Suppliers
select UPPER(CompanyName) from Suppliers
--獲得ASCII碼
select ASCII('A')
--擷取字串
select LEFT('123456789',2)
select RIGHT('123456789',3)
--獲取字串長度
select LEN(N'123456789')
--獲取資料長度
select DATALENGTH(N'123456789')--18
select DATALENGTH('123456789')--9
--刪除空格
select LTRIM(' 1234 ')+'Hello'
select RTRIM(' 1234 ')+'Hello'