平常穿的涼鞋遇到雨,濕濕黏黏不舒服。
回家洗腳時才發現,腳底整個顏色很奇怪,用肥皂還洗不掉 …. 該死,是涼鞋鞋底的顏料! QQ
軟體開發、伺服器和生活瑣事
平常穿的涼鞋遇到雨,濕濕黏黏不舒服。
回家洗腳時才發現,腳底整個顏色很奇怪,用肥皂還洗不掉 …. 該死,是涼鞋鞋底的顏料! QQ
交大計中有 Kali Linux 的 mirror site,這應該是台灣國內速度最快的 mirror:
deb https://kali.cs.nctu.edu.tw/kali
在 SQL server 中宣告變數為 varchar
,雖然可以儲存字串,但是中文會變成亂碼。若要讓 SQL Server 可以處理多國語言的話,要記得將變數型態設定為 nvarchar
:
DECLARE @str varchar(MAX); -- 儲存一般文字 DECLARE @multibytes nvarchar(MAX); -- 支援 unicode
另外,要設定 multibytes 字串時,記得要在引號前面加上「N」來表示字串類型:
@str = 'Hello World'; -- 一般字串 @multibytes = N'支援 multibytes 文字'; -- 引號前要加上 N
SQL Server 的語法,可將查詢結果存入 local variable 以便供下一個 query 使用。
作法是在 SELECT 時指定欄位要存數的變數名稱:
SELECT @userid = uid FROM users WHERE mail = '....'
SQL Server 有區分資料型態,所以使用變數之前需要先宣告。假設這邊的 user ID 是一個長度小於 200 的字串,那就需要先宣告變數型態再使用變數:
DECLARE @userid varchar(200); SELECT @userid = uid FROM users WHERE mail = '....';
若需要動態在 SQL Server 上組 SQL 語句,則必須宣告字串型態的變數 (variable) 供暫存:
DECLARE @query varchar(200) SET @query = 'SELECT id, mail from user where id in (....)
但若無法預測 where in
語句就很難做變數宣告。
好險 SQL Server 有 reserve word 可以直接使用當下執行環境中的最大值:MAX
,所以在無法預測字串長度的狀況下,可以將宣告改寫成:
DECLARE @query varchar(MAX)
按照 SQL Server 官方文件的說明,使用 MAX
的話,字串長度可以到 2^31-1
,因此也必須小心使用,以免把機器給燒了。