tsql函數
⑴ T-sql中的聚合函數有哪些
Transact-SQL 提供下列聚合函數:AVGMINCHECKSUM_AGGSUMCOUNTSTDEVCOUNT_BIGSTDEVPGROUPINGVARMAXVARP
⑵ 如何用T-SQL創建函數,返回1或-1,並調用。
按我的思路做的,沒具體測試,CREATE
FUNCTION
check_pno
(@pno
varchar(20))
RETURNS
int
AS
BEGIN
DECLARE
@ISid
int
IF
(EXISTS
(SELECT
*
FROM
員工表
WHERE
pno
=
@pno))
begin
set
@ISid=1
end
else
begin
SET
@ISid=-1
end
RETURN(@ISid)
END
--具體查詢語句,調用該函數,若返回1,向salary表中插入一條記錄(員工表person,員工號pno)
declare
isid
int
select
isid=check_pno('00001')
if
(isid=1)
begin
insert
into
salary
(person,pno)
values
('00001','張三')
end
⑶ T-SQL語句的分為哪四類
根據其完成的具體功能,可以將T-SQL語句分為:數據定義語言、數據操縱語言、數據控制語言、事務管理語言。
1、數據定義語言用來定義和管理資料庫以及資料庫中的各種對象,這些對象的創建、修改和刪除等都可以通過使用CREATE、ALTER、DROP等語句來完成。
2、數據操縱語言用來查詢、添加、修改和刪除資料庫中數據,相關語句包括SELECT、INSERT、UPDATE利和DELETE等。
3、數據控制語言用來進行安全管理,用來設置或者更改資料庫用戶或角色許可權以確保資料庫中的數據和操作不被未授權的用戶使用和執行。相關語句包括GRANT、DENY和REVOKE等。
4、事務管理語言的相關語句有:BEGINTRANSACTION用來明確定義事務的開始,COMMITTRANSACTION用來明確地提交完成的事務,ROLLBACKTRANSACTION用來使數據回到事務開始時的狀態並釋放該事務占據的資源。
(3)tsql函數擴展閱讀
SQL Server和T-SQL的區別
SQL Server是結構化查詢語言,是目前關系型資料庫管理系統中使用最廣泛的查詢語言。
T-SQL即 Transact-SQL,是標准SQL語言的擴展,是SQL Server的核心,在SQL的的基礎上添加了變數,運算符,函數和流程式控制制等新內容。
總之SQL Server是幾乎所有關系型資料庫都支持的語言,而T-SQL是Microsoft SQL Server支持的語言。
⑷ T-SQL 自定義函數
你這個函數是替換/.後面的所有字元為空,那麼SQL語句為
Update [table] set title=Left([Key],Charindex('/.',[Key])-1)
如果你要把這個函數轉換成SQL的自定義函數,那麼函數為
Create Function [dbo].[MyReplace](@Reg Varchar(1000),@Source Varchar(4000),@Str Varchar(1000))
returns sql_variant
As
Begin
Declare @Err Int
Declare @obj Int
Declare @Rst sql_variant
EXEC @Err=Sp_OACreate 'VBScript.RegExp',@obj OUTPUT
If @Err<>0 GoTo LB
EXEC @Err=Sp_OASetProperty @obj,'Pattern',@Reg
If @Err<>0 GoTo LB
EXEC @Err=Sp_OASetProperty @obj,'Global','True'
If @Err<>0 GoTo LB
EXEC @Err=Sp_OASetProperty @obj,'IgnoreCase','False'
If @Err<>0 GoTo LB
EXEC @Err=Sp_OAMethod @obj,'Replace',@Rst OUTPUT,@source,@Str
If @Err<>0 GoTo LB
EXEC @Err=Sp_OADestroy @obj
If @Err<>0 GoTo LB
Return @Rst
LB:
EXEC Sp_OADestroy @obj
RETURN Null
End
然後調用的SQL語句
Update [table] set title=dbo.MyReplace('/.*',[key],'')
⑸ 什麼是T-SQL
簡單來說:T_SQL是SQL語言(結構化查詢語言)的增強版,他是一種編程語言,可以完成復雜的 邏輯。
如果再具體點的話:
T-SQL :
SQL 程式設計語言的增強版,它是用來讓應用程式與 SQL Server 溝通的主要語言。T-SQL 提供標准 SQL的DDL 和 DML 功能,加上延伸的函數、系統預存程序以及程式設計結構(例如 IF 和 WHILE)讓程式設計更有彈性。
意識是在普通的sql語句中很多帶有條件的查詢是做不了的,例如 你要讀取一個表時間所以年份的數據,可以使用函數
YEAR 傳回指定日期年份部分的完整整數。使用方式為 YEAR(date) 。例如:以下陳述式 SELECT YEAR('07/11/01') 將會傳回值 2007。
⑹ T-sql函數問題
SQL 幫助
上面有函數,有例子。
-----------------
下面列出了一些常用的函數,學會這些SQL大部分的操作就不愁了。你可以在SQL幫助的索引中找這些函數,裡面有詳細解釋和實例。
數字
max
min
avg
sum
字元串
ltrim
rtrim
left
right
substring
charindex
replace
時間
getdate
year
month
day
datediff
類型轉換
cast
convert
⑺ T-SQL中常用函數有哪幾大類每類寫出4-5個.
共七類:
1.數學函數:abs()、sign()、pi()、power()等。
2.統計函數:avg()、sum()、max()、min()等。
3.字元串函數:char()、space()、nchar()、len()等。
4.日期函數:getdate()、day()、month()、year()等。
5.系統函數:db_id()、file_id()、user_id()、user()等。
6.其他函數:textptr()、textvalid()、patindex()、cursor_status()等。
7.用戶自定義函數:
⑻ t-sql中返回主機名的函數是什麼
t-sql中返回主機名的函數SERVERPROPERTY('MachineName') :
sql寫法如下:
SELECT
SERVERPROPERTY('MachineName') AS [ServerName],
SERVERPROPERTY('ServerName') AS [ServerInstanceName],
SERVERPROPERTY('InstanceName') AS [Instance],
SERVERPROPERTY('Edition') AS [Edition],
SERVERPROPERTY('ProctVersion') AS [ProctVersion],
Left(@@Version, Charindex('-', @@version) - 2) As VersionName
⑼ T-SQL是什麼
很多Coder在剛剛接觸或是已經接觸一段時間資料庫之後都會為那些select、insert、update、delete甚至是sum()、convert()等等諸如此類的代碼而感到摸不著頭腦,這些都是什麼啊?其實這些就是我們經常說的SQL語句,更為官方的說法叫T-SQL,那麼什麼是T-SQL呢?在 Microsoft SQL Server 7.0 中 T-SQL 有著為數不少的新增功能,包括新的預存程序、系統資料表、函數、資料型別、陳述式以及現存陳述式中的選項。這些都被保留在 SQL Server 2000 中,因此我們在這里要先回顧 (特別是在您還不很熟悉 SQL Server 7.0 中 T-SQL 的功能,這個溫習就很重要了)。因為有太多的新功能需要討論,在此我們僅為每個類別舉少數例子來加以介紹。系統預存程序系統預存程序是 SQL Server 提供來執行管理與其他工作,包括了系統資料表更新以及從系統資料表中檢索資料等。系統預存程序是和 SQL Server 一起安裝,名稱以 sp_ (系統預存程序) 或 xp_ (延伸的預存程序)開頭。這些預存程序儲存在 master 資料庫中,許可權歸系統管理者所有。不過,許多程序可以從使用者自訂的資料庫執行,用來在特定資料庫中從系統資料表檢索資訊。當您執行一個系統預存程序,它是在目前資料庫的系統資料表中展開作業。sp_cycle_errorlog 關閉目前的錯誤日誌檔案,重新命名為errorlog.1(以及,如果需要的話,將舊的errorlog.1重新命名為errorlog.2,依此類推),以及開始一個新的錯誤日誌檔案。
sp_helpfile 傳回與目前資料庫相關之檔案的名稱與屬性。
sp_helpfilegroup 傳回與目前資料庫相關之檔案群組的名稱與屬性。
sp_helprole 傳回與目前資料庫相關中角色的資訊。
sp_help_alert 報告伺服器定義的警示資訊。
sp_start_job 指示SQL Server代理程式開始執行一個工作。
並不是只有這些預存程序提供立即的資訊,不過它們在使用您的使用者資料庫時會相當有用。例如,當執行 T-SQL 指令碼並將輸出結果儲存到一個檔案時,提供使用者資訊的程序就會相當有幫助。您可以將 sp_helpfile、sp_helpfilegroup以及 sp_helpdb 的執行結果儲存在特定的資料庫中,畢竟當您需要重建資料庫時有必要了解檔案、檔案群組、資料庫選項在起初建立時的原始設定。在 SQL Server 7.0 新增並保留 SQL Server 2000 中的系統預存程序清單。函數 SQL Server 內建的函數提供了一個快速、簡單的方法來完成某些特定的工作。SQL Server 7.0 新增了幾個有用的函數,並且也包含在 SQL Server 2000 中。了解哪些函數是可用的,SQL Server 應用程式的設計工作可以變得稍為簡單。在《線上叢書》中的「Transact-SQL 新增與加強的功能」這個主題可以找到新增函數的完整清單。此處僅介紹一些對您可能很有幫助的函數:
NEWID 建立一個 uniqueidentifier 資料型別的 全域唯一識別項(GUID)。您需要使用這個函數將值分派給該資料型別的資料行,使用方式為 NEWID() 。(此函數不需引數)
YEAR 傳回指定日期年份部分的完整整數。使用方式為 YEAR(date) 。例如:以下陳述式 SELECT YEAR('07/11/01') 將會傳回值 2001。
MONTH 傳回指定日期月份部分的整數。使用方式為 MONTH(date) 。例如:以下陳述式 SELECT MONTH('07/11/01') 將會傳回值7。
DAY 傳回指定日期日期部分的整數。使用方式為 DAY(date) 。例如:以下陳述式 SELECT DAY('07/11/01') 將會傳回值 11。
FILE_NAME 傳回檔案識別碼(ID)的邏輯檔案名稱。使用方式為 FILE_NAME (file_id_number)。例如:陳述式 SELECT FILE_NAME(4) 檔案識別碼為4的檔案邏輯名稱。如果資料庫中找不到有此識別碼的檔案,則傳回 NULL。
⑽ t-sql中如何調用自定義函數
和調用系統函數一樣。比如你寫的函數是myfunc,返回一個整數:
declare
@ii
int
select
@ii=mufunc()