彙整開發中高頻使用的 SQL 片段,涵蓋 DML、彙總、日期、字串、型別轉換等,適合貼在工位牆上隨時查閱。
-- 查詢
SELECT employeeid, firstname, lastname FROM test;
-- 插入
INSERT INTO test(lastname, firstname) VALUES('Yan', 'Xu');
-- 更新
UPDATE test
SET firstname='Xu', title='Center', region='XA', country='CH', city='XiAn'
WHERE employeeid=10;
-- 刪除
DELETE FROM test WHERE employeeid=10;
-- 平均值
SELECT AVG(employeeid) AS 平均值 FROM test;
-- 最大值
SELECT MAX(id) AS Max_ID FROM customer;
-- 計數
SELECT COUNT(*) FROM test;
-- 大小寫轉換
SELECT UPPER(lastname) AS 大寫姓 FROM test WHERE employeeid=1;
SELECT LOWER(lastname) AS 小寫姓 FROM test WHERE employeeid=1;
-- 截取
SELECT SUBSTRING(lastname, 1, 3) FROM test;
-- 連接 (SQL Server 使用 +)
SELECT firstname + ' ' + lastname AS 全名 FROM test;
-- 目前日期時間
SELECT GETDATE();
-- 取得年/月/日
SELECT DATEPART(year, GETDATE()) AS 年,
DATEPART(month, GETDATE()) AS 月,
DATEPART(day, GETDATE()) AS 日;
-- 日期加減
SELECT DATEADD(day, 1, GETDATE()) AS 明天;
SELECT DATEDIFF(day, '2024-01-01', GETDATE()) AS 天數差;
-- CAST
SELECT CAST(ytd_sales AS char(20)) FROM titles;
-- CONVERT (SQL Server 專用,支援格式)
SELECT CONVERT(varchar(10), GETDATE(), 120); -- yyyy-mm-dd
SELECT * INTO new_tbl FROM src_tbl;SELECT COL_NAME(OBJECT_ID('employees'), 1);col AS 'alias' 或 col 'alias'。SELECT price, price*2 AS new_price FROM titles;