首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

T-SQL 基礎元素全解析:註解、運算子、通配符與優先順序

     編輯:關於SqlServer

Transact-SQL 核心語言元素詳細指南

掌握 T-SQL 的註解符號、運算子類型、通配符用法與運算優先順序,是撰寫高品質 SQL 程式碼的基礎。本文系統整理這些核心元素,並提供實際應用範例。

4.5.1 註解符號

T-SQL 支援兩種註解方式:

  • --:ANSI 標準單行註解,從雙連字號至行尾皆為註解
  • /* ... */:C 風格多行註解,可跨越多行,適合大段說明或暫時停用代碼

4.5.2 運算子完整分類

1. 算術運算子

運算子說明
+加法
-減法
*乘法
/除法
%取餘數

2. 比較運算子

運算子說明ANSI 標準
>大於是
<小於是
=等於是
>=大於等於是
<=小於等於是
<>不等於是
!=不等於否
!>不大於否
!<不小於否

注意: !=、!>、!< 非 ANSI 標準,建議使用 <>、<=、>= 以確保可攜性。

3. 邏輯運算子

運算子說明
AND邏輯與
OR邏輯或
NOT邏輯非

4. 位元運算子

運算子說明
&位元 AND
|位元 OR
~位元 NOT
^位元 XOR

5. 串接運算子

+ 用於串接兩個或多個字串、二進位串、欄位名或混合型別。語法:<運算式1> + <運算式2>

範例 4-7:日期字串格式化

USE pangu
DECLARE @startdate DATETIME
SET @startdate = '1/1/2000'
SELECT 'Start Date:' + CONVERT(VARCHAR(12), @startdate)

執行結果: Start Date:Jan 1 2000

範例 4-8:動態字串組合查詢

USE pangu
SELECT '月薪最高的員工是:' + e_name + '月薪為:' + CONVERT(VARCHAR(10), e_wage)
FROM employee
WHERE e_wage = (SELECT MAX(e_wage) FROM employee)

執行結果: 月薪最高的員工是:張三月薪為8000.00

運算子優先順序(由高到低)

  1. 括號 ()
  2. 位元 NOT ~
  3. 算術 *、/、%
  4. 算術 +、-
  5. 位元 XOR ^
  6. 位元 AND &
  7. 位元 OR |
  8. 邏輯 NOT
  9. 邏輯 AND
  10. 邏輯 OR

同層級運算子從左至右依序處理。

4.5.3 通配符

SQL Server 支援標準通配符,常用於 LIKE 運算式:

通配符說明範例
%任意長度字串(含零字元)'張%' 符合「張」開頭
_單一字元'張_' 符合「張」+1字元
[ ]字元範圍'[張李]%' 符合張或李開頭
[^]排除字元範圍'[^張]%' 符合非張開頭

實務撰寫建議

  • 優先使用 ANSI 標準運算子(<> 而非 !=),提升程式碼可攜性
  • 複雜條件運算式務必加上括號明確優先順序,避免邏輯錯誤
  • LIKE 查詢避免前置 %,否則無法使用索引,導致全表掃描
  • 串接運算時注意 NULL 值處理:SET CONCAT_NULL_YIELDS_NULL ON 時,任一運算元為 NULL 結果即為 NULL
  • 善用註解說明業務邏輯,特別是複雜的 CASE 運算式與動態 SQL
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved