sql2005函數
1. sql2005中 表值函數是什麼
表值函數是資料庫中一種較為特殊的函數類型,它的返回值不再只是一個數值或一個字元串,而是一張數據表。也就是說表值函數返回的是 table 數據類型。對於內聯表值函數,沒有函數主體;表是單個 SELECT 語句的結果集。使用表值函數的時候,把函數直接當成是表或視圖使用,表值函數的參數傳入方法與標量函數沒有區別。
2. SQL2005 中自定義函數應該如何調用
如果是標值量函數:
select dbo.函數名(參數們)
如果是表值函數:
select * from 函數名(參數們)
3. sql2005 PIVOT函數語法及用法
Select*
Fromtb
Pivot
(
Max(分數)
For課程in(語文,數學,物理)
)x
--X為隨意取的別名,這里必須取一個
4. sql2005中round函數的使用
SELECT 123.12567, ROUND([numer2], 1), ROUND(123.12567, 3, 0), ROUND(123.12567, -2)
from person
看上面的例子
第一個參數是結果保留的小數位數,可以是負數,負數的時候就是保留小數點前幾位了
第二個參數一般不使用,默認是0,自動進行四捨五入,如果不是0的話,就不四捨五入了,而是直接把需要保留的小數位數後面的數據「砍斷」
你自己可以去資料庫運行一下對自己更有幫助!!
5. sql2005中 表值函數是什麼
表值函數是資料庫中一種較為特殊的函數類型,它的返回值不再只是一個數值或一個字元串,而是一張數據表。也就是說表值函數返回的是
table
數據類型。對於內聯表值函數,沒有函數主體;表是單個
SELECT
語句的結果集。使用表值函數的時候,把函數直接當成是表或視圖使用,表值函數的參數傳入方法與標量函數沒有區別。
6. sql server 2005隨機函數
你這個ID有范圍要求么?
比如1-1000的隨機數:SELECT
CAST(1000
*
Rand()
AS
int
)
建表:CREATE
TABLE
USERTABLE(ID
INT
default
CAST(1000
*
Rand()
AS
int
),Name
char(10)
)
然後我們隨便插入一條數據看看是否生成了隨機數
insert
into
usertable(name)values('xxx')
檢索下看下結果:ID是否是1-1000之間的一個數
select
*
from
usertable
7. sql server 2005里的函數,例如raiserror('系統限制您最低只能打九折',16,1,5)
RAISERROR
RAISERROR命令用於在SQL Server系統返回錯誤信息時同時返回用戶指定的信息。
語法:
RAISERROR ( { msg_id | msg_str } { , severity , state }
[ , argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]
參數說明:
msg_id:存儲於sysmessages表中的用戶定義的錯誤信息。用戶定義錯誤信息的錯誤號應大於50000。由特殊消息產生的錯誤是第50000號。
msg_str:是一條特殊消息,其格式與C語言中使用的PRINTF格式樣式相似。此錯誤信息最多可包含400個字元。如果該信息包含的字元超過400個,則只能顯示前397個並將添加一個省略號以表示該信息已被截斷。所有特定消息的標准消息ID是14000。msg_str支持的格式有% [[flag] [width] [precision] [{h | l}]] type。
severity:用戶定義的與消息關聯的嚴重級別。用戶可以使用從0~18之間的嚴重級別。19~25之間的嚴重級別只能由sysadmin固定伺服器角色成員使用。若要使用19~25之間的嚴重級別,必須將WITH option設置WTHLOG。
state :從1~127的任意整數,表示有關錯誤調用狀態的信息。state的值默認為1。
argument:用於取代在msg_str中定義的變數或取代對應於msg_id的消息的參數。可以有0或更多的替代參數;然而,替代參數的總數不能超過20個。每個替代參數可以是局部變數或這些任意數據類型,如int1、int2、int4、char、varchar、binary或varbinary。不支持其他數據類型。
WITH option:錯誤的自定義選項。
就是說,你的這個參數 '系統限制您最低只能打九折' 是報錯消息,參數16是嚴重級別,自定義的嚴重級別最高是18,19-25的嚴重級別是非常嚴重的,不般不會出現。參數1是狀態,和參數5一樣都沒什麼用的。
主要的就是第一個參數有用,能一眼看出報的是什麼錯誤信息,第二個參數也有一點用,但是用處不大。
8. sql 2005 聚合函數
AVG
AVG聚合函數計算一個組中非NULL值的平均值
COUNT
COUNT聚合函數返回一個顯示組中行數的整數值
COUNT_BIG
和COUNT功能一樣,只是COUNT_BIG返回bigint數據類型值
MAX
MAX聚合函數返回一組非NULL值中的最大值
MIN
MIN聚合函數返回一組非NULL值中的最小值
SUM
SUM聚合函數返回一個表達式中所有非NULL值的總和
STDEV
STDEV函數根據數據母體的樣本返回由表達式提供的所有值的標准差
STDEVP
STDEVP函數也返回由表達式提供的所有值的標准差,只是它計算整個數據母體
VAR
VAR函數根據數據母體的樣本返回由表達式提供的值的方差
VARP
VARP函數也返回表達式整個數據母體提供的值的方差
9. SQL SERVER 2005 內置函數不全啊
Format () 是 MySQL 的函數
FORMAT(X,D)
將number X 設置為格式 '#,###,###.##', 以四捨五入的方式保留到小數點後D位, 而返回結果為一個字元串。
SQL Server 裡面,用 Convert函數來實現類似的功能。
只能格式化為 #,###,###.##
四捨五入的,要用別的函數。
DECLARE @myVal AS Money;
SET @myVal = 123456789.12345;
SELECT
Convert(VARCHAR, @myVal, 1);
------------------------------
123,456,789.12
(1 行受影響)
註:那個數字,需要先轉換為 money 數據類型,才有效果。
Now() 也是 MySQL 的函數
用於返回當前的時間。
SQL Server 裡面, 使用 getdate() 函數來實現同樣的功能。
SELECT GETDATE()
-----------------------
2011-05-28 18:00:08.013
(1 行受影響)
10. sql server 2005 中怎麼查看函數的
系統函數在每個資料庫下面都有。
你可以在SQL Server Management Studio -〉master->Programmability->System Functions 這裡面很多系統函數(也可以看SQL Server Books Online 查找)
同理,用戶資料庫里也可以看到用戶自定義函數。