iT邦幫忙

2022 iThome 鐵人賽

DAY 24
0

昨天我們使用佔存表,
今天要來說說佔存表的另外一種寫法,
只要「一句話」,
就可以全部講完喔,
厲害的工具,
那就是:WITH...AS

WITH...AS是誰

真正的名字是:Common Table Expressions(CTE)。

WITH...AS就是一個佔存表,
或是一個子查詢。
這邊我們只會用一個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]
) 

步驟二:再來加上SELECT

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

結果是:
https://ithelp.ithome.com.tw/upload/images/20221007/20152049XSiCQSDunx.jpg

鐵人賽跑到今天已經24天啦,
(氣喘吁吁)
謝謝閱讀的你們,
常常發表後自己回頭看,
都覺得有很多需要修改的地方,
或覺得講得不夠清楚,
謝謝大家不嫌棄得閱讀,
我準備要衝向終點啦~


上一篇
[第二十三天]製作加密資料
下一篇
[第二十五天]加入額外的欄位
系列文
資料庫二年級:練習AdventureWorks範例資料庫30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言