tft每日頭條

 > 生活

 > sqlserver各個版本的功能對比

sqlserver各個版本的功能對比

生活 更新时间:2025-02-05 22:53:40
一、引言

SQL Server有一些很好用的功能,隻不過由于個人原因沒用過或者不記得怎麼用,導緻需要花點時間用其它方式來實現。

二、好用小知識2.1、FORMAT函數

1)時間格式化,如将當前日期格式化為2022-05-12:

SELECT FORMAT(GETDATE(),'yyyy-MM-dd')

不用FORMAT函數的話,我經常是這樣轉換:

SELECT CONVERT(VARCHAR(10),GETDATE(),120)

2)數字前補0,這個在單号流水碼中比較常用,如保留3位流水碼:

SELECT FORMAT(12,'000')

不用FORMAT函數的話,我經常是這樣轉換:

SELECT REPLICATE('0',3-LEN(12)) '12'

2.2、CONCAT函數

1)字符串連接,有NULL值不需要轉換:

DECLARE @A VARCHAR(10)='A',@B VARCHAR(10)=NULL,@C VARCHAR(10)='C' SELECT CONCAT(@A,@B,@C)

不用CONCAT函數的話,我經常是這樣轉換:

DECLARE @A VARCHAR(10)='A',@B VARCHAR(10)=NULL,@C VARCHAR(10)='C' SELECT ISNULL(@A,'') ISNULL(@B,'') ISNULL(@C,'')

2.3、OUTPUT子句

1)返回增、删、改記錄:

sqlserver各個版本的功能對比(Server幾個好用的小知識)1

--數據表 CREATE TABLE StudentA ( ID VARCHAR(32), Name VARCHAR(20), Sex VARCHAR(10) ) GO --返回新增記錄 INSERT INTO STUDENTA (ID,NAME,SEX) OUTPUT Inserted.* VALUES ('1004','趙六','女') GO --返回更改前及更改後記錄 UPDATE STUDENTA SET SEX='男' OUTPUT Deleted.*,Inserted.* WHERE ID='1004' GO --返回删除前記錄 DELETE FROM STUDENTA OUTPUT Deleted.* WHERE ID='1004' GO

sqlserver各個版本的功能對比(Server幾個好用的小知識)2

2.4、timestamp類型

1)表⾏加版本戳,插入時自動産生TS,更改數據時,TS也會跟着更新。

sqlserver各個版本的功能對比(Server幾個好用的小知識)3

--數據表 CREATE TABLE [dbo].[StudentA]( [ID] [VARCHAR](32) NULL, [Name] [VARCHAR](20) NULL, [Sex] [VARCHAR](10) NULL, [TS] [TIMESTAMP] NULL ) ON [PRIMARY] GO INSERT INTO STUDENTA (ID,NAME,SEX) VALUES ('1001','張三','男') SELECT * FROM STUDENTA GO UPDATE STUDENTA SET SEX='女' WHERE ID='1001' SELECT * FROM STUDENTA GO

sqlserver各個版本的功能對比(Server幾個好用的小知識)4

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved