where 訂貨日期 between '2017/10/24' and '2017/10/30' 小的寫在前面,大的後面,不可以寫反
一:運算子的使用
T-SQL的運算子應用
指派運算子
算術運算子
比較運算子
邏輯運算子
字串運算子
二:指派運算子
指派運算子也可以用來建立資料行標題與定義資料行值的表示式之間的關係。
示例 指派運算子可以建立資料行標題。 select 公司名='金蝶精一', 訂單號=FNumber
from PO
三:算數運算子
四:比較運算子
比較運算子測試兩個表示式是否相同。比較運算子可以用在 text、ntext 或 image 資料型別表示式以外的所有表示式。
=:等於
<>:不等於
>:大於
<:小於
>=:大於等於
<=:小於等於
IS [NOT] NULL
BETWEEN expr1 AND expr2:測試值的範圍。
示例:從cv_PO中,取出日期在2017/10/24日到2017/10/30日的所有資料
select *
from cv_PO
where 訂貨日期 between '2017/10/24' and '2017/10/30'
[NOT] LIKE:執行模糊查詢 (通常限制為字元資料型別)。
示例
--注意萬用字元”_”與“ %”的區別
select *
from cv_PO
where 物料規格 like ‘%mg’
select *
from cv_PO
where 物料規格 like ‘_mg
五:邏輯運算子
邏輯運算子的目地為測試某些條件是否為真。邏輯運算子,就像比較運算子,會返回回 TRUE 或 FALSE 的布林型別
NOT:邏輯非
AND:邏輯與
OR:邏輯或
六:字串運算子
字串串連運算子的符號為加號 (+)。您可以將兩個或更多個字元字串合併或串連成一個字元字串。您也可以串連二進位制字串。以下是串連的範例:
(+):
示例
SELECT 執行結果= ('A' + 'B')
七:函式
字串函式,日期函式
select substring('abcd',1,2) 從第一個開始,取倆個字元
select datalength('abcd') 4
select datalength(N'abcd') 8 是一般字元的儲存空間的倆倍
substring和datalength
SUBSTRING:由一個字串中的第N個位置,擷取N個長度的字元
select substring('abcd',1,2)
DATALENGTH:傳回用來代表任何表示式的位元組數目
select datalength('abcd')
select datalength(N'abcd')
charindex:傳回字元字串中指定表示式的起始
select charindex('c','abcd')
①變大寫,變小寫
lower和upper
LOWER:將字母變為小寫。
UPPER:將字母變為大寫。
示例
SELECT LOWER('DIMEO')
SELECT UPPER('dimeo')
GO
②刪除走邊空格
ltrim:刪除左邊的空格。
示例
DECLARE @string_to_trim varchar(60)
SET @string_to_trim = ' Five spaces'
SELECT 'Here is the string without the leading spaces: ' +
LTRIM(@string_to_trim)
GO
③刪除右邊空格
rtrim:刪除表示式右邊的空格。
示例
USE pubs
SELECT RTRIM(TYPE)+','+TYPE
FROM TITLES
GO
④返回字串左邊和右邊的幾個字串
Right/Left:返回字串的右邊/左邊幾個字元。
示例
SELECT RIGHT('String',3)
GO
⑤日期函式
current_timestamp和getdate():都是返回目前的日期與時間。
示例
SELECT CURRENT_TIMESTAMP,GETDATE()
GO
dateadd:在指定日期新增一個時間間隔,並傳回新的datetime值。
datediff:返回兩個指定日期的日期與時間差異。
datepart:以整數形式返回指定日期的某個部份
month:取出日期欄位中的月份
Year:取出日期欄位中的年份
直接顯示月份:
八:型別轉換
convert:
convert:將某種資料型別的表示式轉換為另一種資料型別
示例 select *
from PO_Entry
where convert(nvarchar(10),FAmount) like '1%'
Cast:將某種資料型別的表示式轉換為另一種資料型別 國際標準,每個資料庫都是可以的,進行型別轉化
Cast:將某種資料型別的表示式轉換為另一種資料型別
示例 select *
from PO_Entry
where cast(FAmount as nvarchar(20)) like '1%‘
--優先使用Cast,cast功能不足時,使用convert