當前位置:首頁 » 編程語言 » sqlserver函數庫
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sqlserver函數庫

發布時間: 2022-06-07 10:40:42

sqlserver資料庫標量函數中如何做判斷

標量值函數返回一個確定類型的標量值,其返回類型除text、ntext、image、cursor、timestamp、和table類型外的其他數據類型,函數體語句定義在begin-end內部。在return(注意有帶s)語句後定義返回值的數據類型,並且函數的最後一條語句必須為return

② sqlserver查詢某個資料庫有多少個表 ,存過,函數,視圖

use dbname
SELECT * FROM sysobjects WHERE (xtype = 'U')
go

xtype可替換為如下參數

--C = CHECK 約束

--D = 默認值或 DEFAULT 約束

--F = FOREIGN KEY 約束

--L = 日誌 --FN = 標量函數

--IF = 內嵌表函數

--P = 存儲過程

--PK = PRIMARY KEY 約束(類型是 K)

--RF = 復制篩選存儲過程

--S = 系統表

--TF = 表函數

--TR = 觸發器

--U = 用戶表

--UQ = UNIQUE 約束(類型是 K)

--V = 視圖

--X = 擴展存儲過程

③ SqlServer常用函數

1、CONVERT()
函數
?
1
CONVERT(data_type(length),data_to_be_converted,style)
data_type(length)
規定目標數據類型(帶有可選的長度)。data_to_be_converted
含有需要轉換的值。style
規定日期/時間的輸出格式。
可以使用的
style
值:點擊打開鏈接
2、DATEADD()
函數
點擊打開鏈接
3、CAST()
函數
?
1
2
Syntax
for
CAST:
CAST
(
expression
AS
data_type
[
(
length
)
]
)
expression
任何有效的表達式。
data_type
目標數據類型。
這包括
xml、bigint

sql_variant。
不能使用別名數據類型。
length
指定目標數據類型長度的可選整數。
默認值為
30。
CONVERT()
函數與CAST()
函數詳細信息:點擊打開鏈接

④ sqlserver資料庫插入操作問題,用日期函數取得年月日,這樣做對嗎

首先要區分Java域代碼 與 SQL域代碼;
其次要清楚 兩個域之間的變數傳值的方式;

⑤ SqlServer函數的系統函數

newid 無參數
返回一個GUID(全局唯一表示符)值
例如:select newid()
返回:2E6861EF-F4DB-4FFE-86EB-637482FE982J2
isnumeric (任意表達式)
判斷表達式是否為數值類型或者是否可以轉換成數值。
是:返回1,不是:返回0
例如:select isnumeric(1111) 返回 1
select isnumeric('123rr') 返回 0
select isnumeric('123') 返回 1
isnull (任意表達式1,任意表達式2)
如果任意表達式1不為NULL,則返回它的值;否則,在將任意表達式2的類型轉換為任意表達式1的類型(如果這兩個類型不同)後,返回任意表達式2的值。
例如:select isnull(null,N'沒有值') 返回 沒有值
select isnull(N'具體的值',N'沒有值') 返回 具體的值
isdate (任意表達式)
確定輸入表達式是否為有效日期或可轉成有效的日期;
是:返回1,不是:返回0
例如:select isdate(getdate()) 返回1
select isdate('2013-01-02') 返回1
select isdate('198') 返回0

⑥ ORACLE、SQLSERVER、MYSQL三者都有哪些函數不同,歡迎大家積極跟帖

三者基本上差不多的,為什麼要問這種問題呢?
學會一個再學其它的或者說再用其它的,都很容易了。
還是專心整一個吧,其它的只作為了解就好。

IT牛人都說:樣樣通=樣樣松

⑦ mysql函數中concat在sqlserver函數中怎麼用

這個函數是用來連接字元串,sqlserver中沒有,可以使用 + 連接符號搞定

⑧ 幫忙在SQLserver資料庫中創建一個自定義函數funShipFee,用於計算郵寄印刷品的費用

CREATE FUNCTION [DBO].[funShipFee]
( @WG NUMERIC(28,4)--定義重量為數字型
)
RETURNS NUMERIC(28,4)
BEGIN
DECLARE @Value NUMERIC(28,4)--返回的值
DECLARE @REM NUMERIC(28,4)--余數
IF @WG < 100
SET @Value = 0.3
ELSE
BEGIN
SET @Value = 0.3
IF @WG < 5000
BEGIN
SET @REM = @WG % 100
IF @REM <> 0
SET @Value= @Value+(ROUND((@WG-100)/100,0)+1)*0.15
ELSE
SET @Value= @Value+ROUND((@WG-100)/100,0)*0.15
END
ELSE
BEGIN
SET @REM = @WG % 100
IF @REM <> 0
SET @Value= @Value+(ROUND((@WG-100)/100,0)+1)*0.12
ELSE
SET @Value= @Value+ROUND((@WG-100)/100,0)*0.12
END
END

RETURN @Value
END

⑨ sqlserver 函數的寫法

returns @RowSet table(
ID int identity(1,1) ,
score float,
lastScore float
)
你這里已經聲明了一個表格類型變數作為函數的返回值.
那麼只要在函數里對這個表進行賦值,就可以直接return

insert into @RowSet values(...)
return
--------
declare @ScoreList table (YScore float)
declare @ScoreList1 table (lastScore float)
-------------------------------------------

怎麼我看你又聲明了兩個表格類型的變數?你函數聲明裡的返回類型是表,那麼單行返回的話就只能往裡裝簡單類型的值.
如果你要union拼接兩個table一起返回的話,兩個內部table和聲明的返回table定義又不一致.
很奇怪的寫法...能看出來你想干什麼...但這種寫法很怪異.
========================================補充
insert into @ScoreList SELECT...
insert into @ScoreList1 SELECT ...
你這不是把兩個查詢的結果賦給兩個內部變數了么,且這個表與你聲明的返回表都是一個float列.
你完全可以再把這兩個變數表insert 到@RowSet啊,或者不用這倆變數表,直接在兩個查詢里向@RowSet寫入值.
最後直接
return
end
不就行了?
======
http://hi..com/kas68310/blog/item/af4e05f0d5ee18c50a46e012.html
這有個返回值為talble的函數,你參看一下吧.你這個函數的完成度已經相當高了.