查詢結(jié)果隨機(jī)排序:
SELECT * FROM table ORDER BY NEWID()
用一條語(yǔ)句得出某日期所在月份的天數(shù)
SELECT DAY(DATEADD(dd, -1, DATEADD(mm, 1, DATEADD(dd, 1-DAY('2004-8-31'), '2004-8-31')))) AS 'Day Number'
SQL SQRSVER常用涵數(shù)
涵數(shù)名稱 使用方法/參數(shù)說(shuō)名/例證
CONVERT涵數(shù) "將B變量的數(shù)據(jù)類型變?yōu)锳類型CONVERT(A類型,@B變量)"
GETDATE涵數(shù) GETDATE()取得系統(tǒng)的時(shí)間
ISNULL涵數(shù) ISNULL(@A變量,B)變量@A是NULL時(shí)返回B值,反之返回本身
ROUND涵數(shù) "ROUND(@B變量,常數(shù)C)B變量小數(shù)點(diǎn)后C位置四舍五入例證:ROUND(3.3,0)=3"
LOWER涵數(shù) LOWER()函數(shù)把字符串全部轉(zhuǎn)換為小寫(xiě) LOWER(@A)
UPPER涵數(shù) UPPER()函數(shù)把字符串全部轉(zhuǎn)換為大寫(xiě) UPPER(@A)
ASCII涵數(shù) ASCII()函數(shù)返回字符表達(dá)最左端字符的ASCII碼值 ASCII(@A)
CHAR涵數(shù) CHAR()函數(shù)用于將ASCII碼轉(zhuǎn)換為字符 CHAR(@A)
STR涵數(shù) STR() 函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù) STR(@A)
LTRIM涵數(shù) LTRIM()函數(shù)把字符串頭部的空格去掉 LTRIM(@A)
RTRIM涵數(shù) RTRIM()函數(shù)把字符串尾部的空格去掉 RTRIM(@A)
LEFT涵數(shù) "LEFT()函數(shù)返回部分字符串 LEFT(@A,4)返回@A左邊四位"
RIGHT涵數(shù) RIGHT()函數(shù)返回部分字符串 RIGHT(@A,4)返回@A右邊四位
SUBSTRING涵數(shù) "SUBSTRING()函數(shù)返回部分字符串 SUBSTRING(@A,5,2)返回@A左邊第五位開(kāi)始取兩個(gè)字符"
REPLACE涵數(shù) "REPLACE()函數(shù)返回被替換了指定子串的字符串 REPLACE(@A,'-','')將@A中的'-'轉(zhuǎn)換為''"
NULLIF 涵數(shù) " NULLIF (, )
NULLIF() 函數(shù)在expression1 與expression2 相等時(shí)
返回NULL 值,若不相等時(shí)則返回expression1 的值.
其返回值類型與expression1 相同.
expression1 與expression2 應(yīng)為同類的數(shù)據(jù)類型."
找出學(xué)生一科成績(jī)信息:
表1
ID 姓名 科目 成績(jī)
1 小王 語(yǔ)文 81
2 小王 數(shù)學(xué) 69
3 小王 英語(yǔ) 67
4 小李 語(yǔ)文 62
5 小李 數(shù)學(xué) 100
6 小李 英語(yǔ) 60
7 小張 語(yǔ)文 80
8 小張 數(shù)學(xué) 81
9 小張 英語(yǔ) 77
要求查詢出每個(gè)人的分.
結(jié)果
ID 姓名 科目 成績(jī)
1 小王 語(yǔ)文 81
5 小李 數(shù)學(xué) 100
8 小張 數(shù)學(xué) 81
Select a.* from 表1 a,(Select 姓名,max(成績(jī)) 成績(jī) from 表1 group by 姓名) b where a.姓名=b.姓名 and a.成績(jī)=b.成績(jī)
//思路
先 根據(jù)學(xué)生分組 找出分?jǐn)?shù) (有可能并列)
Select 姓名,max(成績(jī)) 成績(jī) from 表1 group by 姓名
在拿結(jié)果到表1中 用上面的結(jié)果作為條件 查詢
SELECT * FROM table ORDER BY NEWID()
用一條語(yǔ)句得出某日期所在月份的天數(shù)
SELECT DAY(DATEADD(dd, -1, DATEADD(mm, 1, DATEADD(dd, 1-DAY('2004-8-31'), '2004-8-31')))) AS 'Day Number'
SQL SQRSVER常用涵數(shù)
涵數(shù)名稱 使用方法/參數(shù)說(shuō)名/例證
CONVERT涵數(shù) "將B變量的數(shù)據(jù)類型變?yōu)锳類型CONVERT(A類型,@B變量)"
GETDATE涵數(shù) GETDATE()取得系統(tǒng)的時(shí)間
ISNULL涵數(shù) ISNULL(@A變量,B)變量@A是NULL時(shí)返回B值,反之返回本身
ROUND涵數(shù) "ROUND(@B變量,常數(shù)C)B變量小數(shù)點(diǎn)后C位置四舍五入例證:ROUND(3.3,0)=3"
LOWER涵數(shù) LOWER()函數(shù)把字符串全部轉(zhuǎn)換為小寫(xiě) LOWER(@A)
UPPER涵數(shù) UPPER()函數(shù)把字符串全部轉(zhuǎn)換為大寫(xiě) UPPER(@A)
ASCII涵數(shù) ASCII()函數(shù)返回字符表達(dá)最左端字符的ASCII碼值 ASCII(@A)
CHAR涵數(shù) CHAR()函數(shù)用于將ASCII碼轉(zhuǎn)換為字符 CHAR(@A)
STR涵數(shù) STR() 函數(shù)把數(shù)值型數(shù)據(jù)轉(zhuǎn)換為字符型數(shù)據(jù) STR(@A)
LTRIM涵數(shù) LTRIM()函數(shù)把字符串頭部的空格去掉 LTRIM(@A)
RTRIM涵數(shù) RTRIM()函數(shù)把字符串尾部的空格去掉 RTRIM(@A)
LEFT涵數(shù) "LEFT()函數(shù)返回部分字符串 LEFT(@A,4)返回@A左邊四位"
RIGHT涵數(shù) RIGHT()函數(shù)返回部分字符串 RIGHT(@A,4)返回@A右邊四位
SUBSTRING涵數(shù) "SUBSTRING()函數(shù)返回部分字符串 SUBSTRING(@A,5,2)返回@A左邊第五位開(kāi)始取兩個(gè)字符"
REPLACE涵數(shù) "REPLACE()函數(shù)返回被替換了指定子串的字符串 REPLACE(@A,'-','')將@A中的'-'轉(zhuǎn)換為''"
NULLIF 涵數(shù) " NULLIF (
NULLIF() 函數(shù)在expression1 與expression2 相等時(shí)
返回NULL 值,若不相等時(shí)則返回expression1 的值.
其返回值類型與expression1 相同.
expression1 與expression2 應(yīng)為同類的數(shù)據(jù)類型."
找出學(xué)生一科成績(jī)信息:
表1
ID 姓名 科目 成績(jī)
1 小王 語(yǔ)文 81
2 小王 數(shù)學(xué) 69
3 小王 英語(yǔ) 67
4 小李 語(yǔ)文 62
5 小李 數(shù)學(xué) 100
6 小李 英語(yǔ) 60
7 小張 語(yǔ)文 80
8 小張 數(shù)學(xué) 81
9 小張 英語(yǔ) 77
要求查詢出每個(gè)人的分.
結(jié)果
ID 姓名 科目 成績(jī)
1 小王 語(yǔ)文 81
5 小李 數(shù)學(xué) 100
8 小張 數(shù)學(xué) 81
Select a.* from 表1 a,(Select 姓名,max(成績(jī)) 成績(jī) from 表1 group by 姓名) b where a.姓名=b.姓名 and a.成績(jī)=b.成績(jī)
//思路
先 根據(jù)學(xué)生分組 找出分?jǐn)?shù) (有可能并列)
Select 姓名,max(成績(jī)) 成績(jī) from 表1 group by 姓名
在拿結(jié)果到表1中 用上面的結(jié)果作為條件 查詢