昨天我們使用佔存表,
今天要來說說佔存表的另外一種寫法,
只要「一句話」,
就可以全部講完喔,
厲害的工具,
那就是:WITH...AS
真正的名字是:Common Table Expressions(CTE)。
WITH...AS就是一個佔存表,
或是一個子查詢。
這邊我們只會用一個WITH...AS,
但在工作上,
是可以多個WITH...AS併用的。
公式在這兒:
WITH 資料表名字(欄位,欄位...) AS
(
--在這裡定義資料(就是佔存表INSERT的部分)
)
用昨天的例子來說的話是這樣:
WITH ta(e1,e2) AS
(
SELECT [EmailAddress] EmailAddress
,SUBSTRING([EmailAddress],0,CHARINDEX('@',[EmailAddress])) EmailID
FROM [Person].[EmailAddress]
)
WITH ta(e1,e2) AS
(
--放入定義
SELECT [EmailAddress] EmailAddress
,SUBSTRING([EmailAddress],0,CHARINDEX('@',[EmailAddress])) EmailID
FROM [Person].[EmailAddress]
)
--選擇要顯示的資料
SELECT e1 EmailAddress
,e2 加密前
,SUBSTRING(sys.fn_varbintohexstr(hashbytes('SHA2_256',cast(e2 as varchar(10)))),3,64)加密後
FROM Ta
結果是:
鐵人賽跑到今天已經24天啦,
(氣喘吁吁)
謝謝閱讀的你們,
常常發表後自己回頭看,
都覺得有很多需要修改的地方,
或覺得講得不夠清楚,
謝謝大家不嫌棄得閱讀,
我準備要衝向終點啦~