顯示具有 TSQL 標籤的文章。 顯示所有文章
顯示具有 TSQL 標籤的文章。 顯示所有文章

2023年10月2日 星期一

[筆記][TSQL]timestamp轉換

SELECT DATEDIFF(SECOND,'1970-01-01', GETUTCDATE()) AS 'UNIX TIMESTAMP';

SELECT DATEADD(s,unix_timestamp,'1970-01-01') as 時間

EX:
SELECT DATEADD(s,1694617261,'1970-01-01') as 時間

2022年1月20日 星期四

[2022.LEARN.004][TSQL]多筆Row欄位合併為一欄(欄位合併)

指令:
1.for xml path('') 配合select ','+convert(nvarchar(128),applid)
   多筆欄位用【逗號,】連接起來。
   ex: ,id001,1d002
2.前方會多一個逗號,使用stuff指令移除。
   stuff(',id001,id002',1,1,'')
   =>第一個字元位置,移除長度1字元,插入空字串。


範例:

select STUFF((select ','+convert(nvarchar(128),applid)

  from AasApplAct where userid=u.userid and actid=@actid for xml path('')

),1,1,'') as ApplId

2021年11月25日 星期四

[筆記]資料庫處理換行符號

問題:

資料中常會有未知換行符號 可能是
char(13):回車 enter
char(10):換行 br
char(9):Tab

作法:換成想要的符號  

update Tempdb  
set ProductName=REPLACE(REPLACE(REPLACE(replace(replace(
                ProductName,char(10),'<br>')
                    ,char(13),'<enter>')
                    ,'<enter><br>',char(13)+char(10))
                    ,'<enter>',char(10)),'<br>',char(10))
WHERE id=1

2020年4月9日 星期四

[筆記]FMTONLY

CREATE PROCEDURE [dbo].[sp_Test]
AS
IF 1=0 BEGIN
    SET FMTONLY OFF
END
BEGIN
--do something
END

相關議題:

  • 存儲過程返回int而不是結果集
  • Stored procedure returns int instead of result set

2018年6月20日 星期三

[TSQL]如何寫預存程序

MSSQL中提供的功能,可供使用者撰寫預存程序(Stored Procedure)

image

預存程序,簡單的來說就是你寫好了一段(連串)SQL語法,存在資料庫中,
之後可以透過呼叫執行(EXEC 預存程序名稱),去執行已寫好的語法。

寫法如下:

  • 新增預存程序使用 Create
  • 新增預存程序使用 Alter