目前分類:資料庫 (50)

瀏覽方式: 標題列表 簡短摘要

DECLARE @SQL nvarchar(512)
DECLARE @Count INT = -1
SET @SQL = 'DELETE TOP (1000) FROM  [資料庫名稱] OPTION ( MAXDOP 1 )';
WHILE @Count <> 0
BEGIN

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

 

IF NOT EXISTS(SELECT * FROM Clock WHERE clockDate = '2018/01/01')
BEGIN 
    INSERT INTO Clock (
        clockDate, userName, breakOut
    ) VALUES(

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

SELECT E_Mail, 
  CASE WHEN E_Mail LIKE '%_@_%_.__%' 
    THEN 'Valid' 
    ELSE 'No valid' 
  END [Validate]

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

單純的只是想把某一欄的值做合併,但資料太多的話,程式效能也不大好

SQL 的語法有提供了合併的語法,FOR XML PATH(''),方便使用

假加有個資料表如下圖

undefined

最後,想呈現的結果

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

DECLARE @NewID bigint = 0
DECLARE @table_temp TABLE(tb_id bigint)
DECLARE @max INT, @min INT
 
-- 取最小值

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

-- 設定啟始值
DECLARE @min INT = 1 
-- 跑迴圈
WHILE @min <= 10  
BEGIN -- 迴圈開始

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

刪除資料後,如何重新流水號,剛好碰到這問題,記錄一下語法,以防將來忘記了。

原始資料如下
undefined

DELETE FROM table_account 
WHERE tb_id = 'idone'

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

IF EXISTS(SELECT 1 FROM Prog_Stock WHERE Prog_No = '產品編號' AND Prog_Color = '顏色')
UPDATE Prog_Stock SET 庫存量 = 庫存量 + 現有數量 WHERE Prog_No = '產品編號'
ELSE
INSERT INTO Prog_Stock(Prog_No,Prog_Color,Prog_Stock) VALUES ('產品編號','顏色','庫存量')
 

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

紅色的字,換成要查詢的「資料庫」名稱

USE DatabaseName

GO

SELECT t.NAME AS TableName,
i.name as indexName,

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

假設有 [Users] 資料表及 [Work] 資料表 

[Users] 需每天登入填寫今天的 [Work] 時間

[User] 與 [Work] 對應的欄位各是 User.u_id及 Work.u_id 

[Work] 表裡面有一個 [w_day] 的欄位,記錄 [Work] 的日期 

請問,要怎麼下SQL語法才能篩選出「今日未填表的人員」呢?

Roger 發表在 痞客邦 留言(0) 人氣()

SELECT
 CASE
   WHEN 'R' THEN 'Road'
   WHEN 'M' THEN 'Mountain'
   WHEN 'T' THEN 'Touring'

Roger 發表在 痞客邦 留言(0) 人氣()

SELECT * INTO dbo.NewProducts
FROM Product
WHERE Price > $25 AND Price < $100;

語法說明
從資料表 Product 搜尋出價格>25,並且價格 < 100的資料

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

使法方法
SELECT DISTINCT 欄位名稱 FROM 資料表名稱

 

範例如下:
SELECT NAME, CITY FROM TABLE_A

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

 

--查詢(搜尋資料表 TableA 內所有資料)
select * from TableA

--新增一筆資料
insert into TableA (
student_name,student_email) values ('jojo','jojo@kiki.com')

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

WITH table_CTE AS
(
    -- 設定遞迴的初始值
    SELECT CAST('20170101' AS datetime) AS Date  
    UNION ALL

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

語法
MERGE INTO table_name USING table_name ON (condition)
WHEN MATCHED THEN UPDATE SET column1 = value1 [, column2 = value2 ...]
WHEN NOT MATCHED THEN INSERT (column1 [, column2 ...]) VALUES (value1 [, value2 ...])
 

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

SQL  的執行順序如下
1.FROM
2.ON
3.JOIN
4.Where

Roger 發表在 痞客邦 留言(0) 人氣()

SELECT
name AS FileName,
size*1.0/128 AS FileSizeinMB,
CASE max_size
WHEN 0 THEN 'Autogrowth is off.'

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

select   *   from   table1   where   mydate   is   NULL   //為空


select   *   from   table1   where   mydate   is   not   NULL   //不為空


文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

在寫Access常會跳出"不支援結合運算式"的錯誤訊息。

這個錯誤的原因,常常都是因為在left join 再加了一個條件式,但卻忘了加( )。

以下附上完整的Sql 語法

Select 欄位1,欄位2,Table_1.欄位A FROM M_Key
LEFT JOIN Table_1 ON (Table_1.roomNo = M_Key.Key_Value AND Table_1.returned = 'item1')

文章標籤

Roger 發表在 痞客邦 留言(0) 人氣()

1 23