1. 程式人生 > >SQL SERVER-靈活使用select

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'