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

sql302

發布時間: 2022-12-14 17:43:35

① 請回答,下面的sql資料庫題目,不勝感激!

這題都不好好做,以後怎麼工作噢。。。

4://考察in語法
select * from kc where 課程號 in ('101','102','302');

6.//考察對group by的理解
select 課程號,count(*) from xs_kc group by 課程號;

8.//考察對where語句中的and的理解。
select count(*) from xs_kc where 課程號=(select 課程號from kc where 課程名='c語言') and 成績>60;

② SQL用了多個外連接查詢速度超慢!


select 後邊我看看都查什麼了?
還有,你數據量大概多少,WhsCode欄位上有索引嗎?
你的主表是什麼?也就是left join左邊那個表
還有ItemCode欄位上有索引嗎,包括主表和這幾個子查詢

-----------------補充--------------
你把你select後from 前的那部分語句發來看一下,我看看怎麼給你改

③ 使用sql函數檢測字元串是否存在對應的字串問題,。

函數分類列表
載入宏和自動化函數
多維數據集函數
資料庫函數
日期和時間函數
工程函數
財務函數
信息函數
邏輯函數
查找和引用函數
數學和三角函數
統計函數
文本函數

-----------------------------------------------------

載入宏和自動化函數
CALL 調用動態鏈接庫或代碼源中的過程
EUROCONVERT 用於將數字轉換為歐元形式,將數字由歐元形式轉換為歐元成員國貨幣形式,或利用歐元作為中間貨幣將數字由某一歐元成員國貨幣轉化為另一歐元成員國貨幣形式(三角轉換關系)
GETPIVOTDATA 返回存儲在數據透視表中的數據
REGISTER.ID 返回已注冊過的指定動態鏈接庫 (DLL) 或代碼源的注冊號
SQL.REQUEST 連接到一個外部的數據源並從工作表中運行查詢,然後將查詢結果以數組的形式返回,無需進行宏編程

多維數據集函數
CUBEKPIMEMBER 返回重要性能指標 (KPI) 名稱、屬性和度量,並顯示單元格中的名稱和屬性。KPI 是一項用於監視單位業績的可量化的指標,如每月總利潤或每季度雇員調整。
CUBEMEMBER 返回多維數據集層次結構中的成員或元組。用於驗證多維數據集內是否存在成員或元組。
CUBEMEMBERPROPERTY 返回多維數據集內成員屬性的值。用於驗證多維數據集內是否存在某個成員名並返回此成員的指定屬性。
CUBERANKEDMEMBER 返回集合中的第 n 個或排在一定名次的成員。用於返回集合中的一個或多個元素,如業績排在前幾名的銷售人員或前 10 名學生。
CUBESET 通過向伺服器上的多維數據集發送集合表達式來定義一組經過計算的成員或元組(這會創建該集合),然後將該集合返回到 Microsoft Office Excel。
CUBESETCOUNT 返回集合中的項數。
CUBEVALUE 返回多維數據集內的匯總值。

資料庫函數
DAVERAGE 返回所選資料庫條目的平均值
DCOUNT 計算資料庫中包含數字的單元格的數量
DCOUNTA 計算資料庫中非空單元格的數量
DGET 從資料庫提取符合指定條件的單個記錄
DMAX 返回所選資料庫條目的最大值
DMIN 返回所選資料庫條目的最小值
DPRODUCT 將資料庫中符合條件的記錄的特定欄位中的值相乘
DSTDEV 基於所選資料庫條目的樣本估算標准偏差
DSTDEVP 基於所選資料庫條目的樣本總體計算標准偏差
DSUM 對資料庫中符合條件的記錄的欄位列中的數字求和
DVAR 基於所選資料庫條目的樣本估算方差
DVARP 基於所選資料庫條目的樣本總體計算方差

日期和時間函數
DATE 返回特定日期的序列號
DATEVALUE 將文本格式的日期轉換為序列號
DAY 將序列號轉換為月份日期
DAYS360 以一年 360 天為基準計算兩個日期間的天數
EDATE 返回用於表示開始日期之前或之後月數的日期的序列號
EOMONTH 返回指定月數之前或之後的月份的最後一天的序列號
HOUR 將序列號轉換為小時
MINUTE 將序列號轉換為分鍾
MONTH 將序列號轉換為月
NETWORKDAYS 返回兩個日期間的全部工作日數
NOW 返回當前日期和時間的序列號
SECOND 將序列號轉換為秒
TIME 返回特定時間的序列號
TIMEVALUE 將文本格式的時間轉換為序列號
TODAY 返回今天日期的序列號
WEEKDAY 將序列號轉換為星期日期
WEEKNUM 將序列號轉換為代表該星期為一年中第幾周的數字
WORKDAY 返回指定的若干個工作日之前或之後的日期的序列號
YEAR 將序列號轉換為年
YEARFRAC 返回代表 start_date 和 end_date 之間整天天數的年分數

工程函數
BESSELI 返回修正的貝賽耳函數 In(x)
BESSELJ 返回貝賽耳函數 Jn(x)
BESSELK 返回修正的貝賽耳函數 Kn(x)
BESSELY 返回貝賽耳函數 Yn(x)
BIN2DEC 將二進制數轉換為十進制數
BIN2HEX 將二進制數轉換為十六進制數
BIN2OCT 將二進制數轉換為八進制數
COMPLEX 將實系數和虛系數轉換為復數
CONVERT 將數字從一種度量系統轉換為另一種度量系統
DEC2BIN 將十進制數轉換為二進制數
DEC2HEX 將十進制數轉換為十六進制數
DEC2OCT 將十進制數轉換為八進制數
DELTA 檢驗兩個值是否相等
ERF 返回誤差函數
ERFC 返回互補錯誤函數
GESTEP 檢驗數字是否大於閾值
HEX2BIN 將十六進制數轉換為二進制數
HEX2DEC 將十六進制數轉換為十進制數
HEX2OCT 將十六進制數轉換為八進制數
IMABS 返回復數的絕對值(模數)
IMAGINARY 返回復數的虛系數
IMARGUMENT 返回參數 theta,即以弧度表示的角
IMCONJUGATE 返回復數的共軛復數
IMCOS 返回復數的餘弦
IMDIV 返回兩個復數的商
IMEXP 返回復數的指數
IMLN 返回復數的自然對數
IMLOG10 返回復數的以 10 為底的對數
IMLOG2 返回復數的以 2 為底的對數
IMPOWER 返回復數的整數冪
IMPRODUCT 返回從 2 到 29 的復數的乘積
IMREAL 返回復數的實系數
IMSIN 返回復數的正弦
IMSQRT 返回復數的平方根
IMSUB 返回兩個復數的差
IMSUM 返回多個復數的和
OCT2BIN 將八進制數轉換為二進制數
OCT2DEC 將八進制數轉換為十進制數
OCT2HEX 將八進制數轉換為十六進制數

財務函數
ACCRINT 返回定期支付利息的債券的應計利息
ACCRINTM 返回在到期日支付利息的債券的應計利息
AMORDEGRC 返回使用折舊系數的每個記帳期的折舊值
AMORLINC 返回每個記帳期的折舊值
COUPDAYBS 返回從付息期開始到成交日之間的天數
COUPDAYS 返回包含成交日的付息期天數
COUPDAYSNC 返回從成交日到下一付息日之間的天數
COUPNCD 返回成交日之後的下一個付息日
COUPNUM 返回成交日和到期日之間的應付利息次數
COUPPCD 返回成交日之前的上一付息日
CUMIPMT 返回兩個付款期之間累積支付的利息
CUMPRINC 返回兩個付款期之間為貸款累積支付的本金
DB 使用固定余額遞減法,返回一筆資產在給定期間內的折舊值
DDB 使用雙倍余額遞減法或其他指定方法,返回一筆資產在給定期間內的折舊值
DISC 返回債券的貼現率
DOLLARDE 將以分數表示的價格轉換為以小數表示的價格
DOLLARFR 將以小數表示的價格轉換為以分數表示的價格
DURATION 返回定期支付利息的債券的每年期限
EFFECT 返回年有效利率
FV 返回一筆投資的未來值
FVSCHEDULE 返回應用一系列復利率計算的初始本金的未來值
INTRATE 返回完全投資型債券的利率
IPMT 返回一筆投資在給定期間內支付的利息
IRR 返回一系列現金流的內部收益率
ISPMT 計算特定投資期內要支付的利息
MDURATION 返回假設面值為 ¥100 的有價證券的 Macauley 修正期限
MIRR 返回正和負現金流以不同利率進行計算的內部收益率
NOMINAL 返回年度的名義利率
NPER 返回投資的期數
NPV 返回基於一系列定期的現金流和貼現率計算的投資的凈現值
ODDFPRICE 返回每張票面為 ¥100 且第一期為奇數的債券的現價
ODDFYIELD 返回第一期為奇數的債券的收益
ODDLPRICE 返回每張票面為 ¥100 且最後一期為奇數的債券的現價
ODDLYIELD 返回最後一期為奇數的債券的收益
PMT 返回年金的定期支付金額
PPMT 返回一筆投資在給定期間內償還的本金
PRICE 返回每張票面為 ¥100 且定期支付利息的債券的現價
PRICEDISC 返回每張票面為 ¥100 的已貼現債券的現價
PRICEMAT 返回每張票面為 ¥100 且在到期日支付利息的債券的現價
PV 返回投資的現值
RATE 返回年金的各期利率
RECEIVED 返回完全投資型債券在到期日收回的金額
SLN 返回固定資產的每期線性折舊費
SYD 返回某項固定資產按年限總和折舊法計算的每期折舊金額
TBILLEQ 返回國庫券的等價債券收益
TBILLPRICE 返回面值 ¥100 的國庫券的價格
TBILLYIELD 返回國庫券的收益率
VDB 使用余額遞減法,返回一筆資產在給定期間或部分期間內的折舊值
XIRR 返回一組現金流的內部收益率,這些現金流不一定定期發生
XNPV 返回一組現金流的凈現值,這些現金流不一定定期發生
YIELD 返回定期支付利息的債券的收益
YIELDDISC 返回已貼現債券的年收益;例如,短期國庫券
YIELDMAT 返回在到期日支付利息的債券的年收益

信息函數
CELL 返回有關單元格格式、位置或內容的信息
ERROR.TYPE 返回對應於錯誤類型的數字
INFO 返回有關當前操作環境的信息
ISBLANK 如果值為空,則返回 TRUE
ISERR 如果值為除 #N/A 以外的任何錯誤值,則返回 TRUE
ISERROR 如果值為任何錯誤值,則返回 TRUE
ISEVEN 如果數字為偶數,則返回 TRUE
ISLOGICAL 如果值為邏輯值,則返回 TRUE
ISNA 如果值為錯誤值 #N/A,則返回 TRUE
ISNONTEXT 如果值不是文本,則返回 TRUE
ISNUMBER 如果值為數字,則返回 TRUE
ISODD 如果數字為奇數,則返回 TRUE
ISREF 如果值為引用值,則返回 TRUE
ISTEXT 如果值為文本,則返回 TRUE
N 返回轉換為數字的值
NA 返回錯誤值 #N/A
TYPE 返回表示值的數據類型的數字

邏輯函數
AND 如果其所有參數均為 TRUE,則返回 TRUE
FALSE 返回邏輯值 FALSE
IF 指定要執行的邏輯檢測
NOT 對其參數的邏輯求反
OR 如果任一參數為 TRUE,則返回 TRUE
TRUE 返回邏輯值 TRUE

查找和引用函數
ADDRESS 以文本形式將引用值返回到工作表的單個單元格
AREAS 返回引用中涉及的區域個數
CHOOSE 從值的列表中選擇值
COLUMN 返回引用的列號
COLUMNS 返回引用中包含的列數
GETPIVOTDATA 返回存儲在數據透視表中的數據
HLOOKUP 查找數組的首行,並返回指定單元格的值
HYPERLINK 創建快捷方式或跳轉,以打開存儲在網路伺服器、Intranet 或 Internet 上的文檔
INDEX 使用索引從引用或數組中選擇值
INDIRECT 返回由文本值指定的引用
LOOKUP 在向量或數組中查找值
MATCH 在引用或數組中查找值
OFFSET 從給定引用中返回引用偏移量
ROW 返回引用的行號
ROWS 返回引用中的行數
RTD 從支持 COM 自動化 (自動化:從其他應用程序或開發工具使用應用程序的對象的方法。以前稱為「OLE 自動化」,自動化是一種工業標准和組件對象模型 (COM) 功能。)的程序中檢索實時數據
TRANSPOSE 返回數組的轉置
VLOOKUP 在數組第一列中查找,然後在行之間移動以返回單元格的值

數學和三角函數
ABS 返回數字的絕對值
ACOS 返回數字的反餘弦值
ACOSH 返回數字的反雙曲餘弦值
ASIN 返回數字的反正弦值
ASINH 返回數字的反雙曲正弦值
ATAN 返回數字的反正切值
ATAN2 返回 X 和 Y 坐標的反正切值
ATANH 返回數字的反雙曲正切值
CEILING 將數字舍入為最接近的整數或最接近的指定基數的倍數
COMBIN 返回給定數目對象的組合數
COS 返回數字的餘弦值
COSH 返回數字的雙曲餘弦值
DEGREES 將弧度轉換為度
EVEN 將數字向上舍入到最接近的偶數
EXP 返回 e 的 n 次方
FACT 返回數字的階乘
FACTDOUBLE 返回數字的雙倍階乘
FLOOR 向絕對值減小的方向舍入數字
GCD 返回最大公約數
INT 將數字向下舍入到最接近的整數
LCM 返回最小公倍數
LN 返回數字的自然對數
LOG 返回數字的以指定底為底的對數
LOG10 返回數字的以 10 為底的對數
MDETERM 返回數組的矩陣行列式的值
MINVERSE 返回數組的逆矩陣
MMULT 返回兩個數組的矩陣乘積
MOD 返回除法的余數
MROUND 返回一個舍入到所需倍數的數字
MULTINOMIAL 返回一組數字的多項式
ODD 將數字向上舍入為最接近的奇數
PI 返回 pi 的值
POWER 返回數的乘冪
PRODUCT 將其參數相乘
QUOTIENT 返回除法的整數部分
RADIANS 將度轉換為弧度
RAND 返回 0 和 1 之間的一個隨機數
RANDBETWEEN 返回位於兩個指定數之間的一個隨機數
ROMAN 將阿拉伯數字轉換為文本式羅馬數
ROUND 將數字按指定位數舍入
ROUNDDOWN 向絕對值減小的方向舍入數字
ROUNDUP 向絕對值增大的方向舍入數字
SERIESSUM 返回基於公式的冪級數的和
SIGN 返回數字的符號
SIN 返回給定角度的正弦值
SINH 返回數字的雙曲正弦值
SQRT 返回正平方根
SQRTPI 返回某數與 pi 的乘積的平方根
小計 返回列表或資料庫中的分類匯總
SUM 求參數的和
SUMIF 按給定條件對若干單元格求和
SUMIFS 在區域中添加滿足多個條件的單元格
SUMPRODUCT 返回對應的數組元素的乘積和
SUMSQ 返回參數的平方和
SUMX2MY2 返回兩數組中對應值平方差之和
SUMX2PY2 返回兩數組中對應值的平方和之和
SUMXMY2 返回兩個數組中對應值差的平方和
TAN 返回數字的正切值
TANH 返回數字的雙曲正切值
TRUNC 將數字截尾取整

統計函數
AVEDEV 返回數據點與它們的平均值的絕對偏差平均值
AVERAGE 返回其參數的平均值
AVERAGEA 返回其參數的平均值,包括數字、文本和邏輯值
AVERAGEIF 返回區域中滿足給定條件的所有單元格的平均值(算術平均值)
AVERAGEIFS 返回滿足多個條件的所有單元格的平均值(算術平均值)。
BETADIST 返回 Beta 累積分布函數
BETAINV 返回指定 Beta 分布的累積分布函數的反函數
BINOMDIST 返回一元二項式分布的概率值
CHIDIST 返回 χ2 分布的單尾概率
CHIINV 返回 γ2 分布的單尾概率的反函數
CHITEST 返回獨立性檢驗值
CONFIDENCE 返回總體平均值的置信區間
CORREL 返回兩個數據集之間的相關系數
COUNT 計算參數列表中數字的個數
COUNTA 計算參數列表中值的個數
COUNTBLANK 計算區域內空白單元格的數量
COUNTIF 計算區域內非空單元格的數量
COVAR 返回協方差,成對偏差乘積的平均值
CRITBINOM 返回使累積二項式分布小於或等於臨界值的最小值
DEVSQ 返回偏差的平方和
EXPONDIST 返回指數分布
FDIST 返回 F 概率分布
FINV 返回 F 概率分布的反函數值
FISHER 返回 Fisher 變換值
FISHERINV 返回 Fisher 變換的反函數值
FORECAST 返回沿線性趨勢的值
FREQUENCY 以垂直數組的形式返回頻率分布
FTEST 返回 F 檢驗的結果
GAMMADIST 返回 γ 分布
GAMMAINV 返回 γ 累積分布函數的反函數
GAMMALN 返回 γ 函數的自然對數,Γ(x)
GEOMEAN 返回幾何平均值
GROWTH 返回沿指數趨勢的值
HARMEAN 返回調和平均值
HYPGEOMDIST 返回超幾何分布
INTERCEPT 返回線性回歸線的截距
KURT 返回數據集的峰值
LARGE 返回數據集中第 k 個最大值
LINEST 返回線性趨勢的參數
LOGEST 返回指數趨勢的參數
LOGINV 返回對數分布函數的反函數
LOGNORMDIST 返回對數累積分布函數
MAX 返回參數列表中的最大值
MAXA 返回參數列表中的最大值,包括數字、文本和邏輯值
MEDIAN 返回給定數值集合的中值
MIN 返回參數列表中的最小值
MINA 返回參數列表中的最小值,包括數字、文本和邏輯值
MODE 返回在數據集內出現次數最多的值
NEGBINOMDIST 返回負二項式分布
NORMDIST 返回正態累積分布
NORMINV 返回標准正態累積分布的反函數
NORMSDIST 返回標准正態累積分布
NORMSINV 返回標准正態累積分布函數的反函數
PEARSON 返回 Pearson 乘積矩相關系數
PERCENTILE 返回區域中數值的第 K 個百分點的值
PERCENTRANK 返回數據集中值的百分比排位
PERMUT 返回給定數目對象的排列數
POISSON 返回泊松分布
PROB 返回區域中的數值落在指定區間內的概率
QUARTILE 返回一列數字的數字排位
RANK 返回一列數字的數字排位
RSQ 返回 Pearson 乘積矩相關系數的平方
SKEW 返回分布的不對稱度
SLOPE 返回線性回歸線的斜率
SMALL 返回數據集中的第 K 個最小值
STANDARDIZE 返回正態化數值
STDEV 基於樣本估算標准偏差
STDEVA 基於樣本(包括數字、文本和邏輯值)估算標准偏差
STDEVP 基於整個樣本總體計算標准偏差
STDEVPA 基於總體(包括數字、文本和邏輯值)計算標准偏差
STEYX 返回通過線性回歸法預測每個 x 的 y 值時所產生的標准誤差
TDIST 返回學生的 t 分布
TINV 返回學生的 t 分布的反函數
TREND 返回沿線性趨勢的值
TRIMMEAN 返回數據集的內部平均值
TTEST 返回與學生的 t 檢驗相關的概率
VAR 基於樣本估算方差
VARA 基於樣本(包括數字、文本和邏輯值)估算方差
VARP 計算基於樣本總體的方差
VARPA 計算基於總體(包括數字、文本和邏輯值)的標准偏差
WEIBULL 返回 Weibull 分布
ZTEST 返回 z 檢驗的單尾概率值

文本函數
ASC 將字元串中的全形(雙位元組)英文字母或片假名更改為半形(單位元組)字元
BAHTTEXT 使用 ß(泰銖)貨幣格式將數字轉換為文本
CHAR 返回由代碼數字指定的字元
CLEAN 刪除文本中所有非列印字元
CODE 返迴文本字元串中第一個字元的數字代碼
CONCATENATE 將幾個文本項合並為一個文本項
DOLLAR 使用 $(美元)貨幣格式將數字轉換為文本
EXACT 檢查兩個文本值是否相同
FIND、FINDB 在一個文本值中查找另一個文本值(區分大小寫)
FIXED 將數字格式設置為具有固定小數位數的文本
JIS 將字元串中的半形(單位元組)英文字母或片假名更改為全形(雙位元組)字元
LEFT、LEFTB 返迴文本值中最左邊的字元
LEN、LENB 返迴文本字元串中的字元個數
LOWER 將文本轉換為小寫
MID、MIDB 從文本字元串中的指定位置起返回特定個數的字元
PHONETIC 提取文本字元串中的拼音(漢字注音)字元
PROPER 將文本值的每個字的首字母大寫
REPLACE、REPLACEB 替換文本中的字元
REPT 按給定次數重復文本
RIGHT、RIGHTB 返迴文本值中最右邊的字元
SEARCH、SEARCHB 在一個文本值中查找另一個文本值(不區分大小寫)
SUBSTITUTE 在文本字元串中用新文本替換舊文本
T 將參數轉換為文本
TEXT 設置數字格式並將其轉換為文本
TRIM 刪除文本中的空格
UPPER 將文本轉換為大寫形式
VALUE 將文本參數轉換為數字

④ sql常用語句格式及例子說明是什麼呢

如下:

1、創建表:Create table 表名 ( s_id number(4) , s_name varchar2(10) , s_sex char(2) );

2、刪除表:Drop table 表名;

3、重命名表名:Rename 舊表名 to 新表名 ;

4、添加列:Alter table 表名 add ( s_age number(3) );

5、刪除列:Alter table 表名 drop( S_sex );

6、查詢列表所有信息:Select * from 表名 ;

7、查詢一個列表信息(加where條件):Select * from 表名 where s_id = 302。

sql創建後表的修改基礎用法

添加列 :基本形式:alter table 表名 add 列名 列數據類型 [after 插入位置]。

1、在表的最後追加列 address: alter table students add address char(60); 2、在名為 age 的列後插入列 birthday: alter table students add birthday date after age;

修改列 :基本形式:alter table 表名 change 列名稱 列新名稱 新數據類型;

1、將表 tel 列改名為 telphone: alter table students change tel telphone char(13) default "-";

2、將 name 列的數據類型改為 char(16): alter table students change name name char(16) not nul。

⑤ sql資料庫查詢,只能查出第一條記錄

'301',' 302',' 402'
除了第一個沒空格,其他的都帶空格了,' 302'所以只能查到301的
在程序裡面先把空格替換了

⑥ DB2 數據導入 20100101,1,18,3,825,750867,1.000000,2.200000,2.200000,3133732,1,105 這個格式的

你是用的import還是用的load呀?導入時加一個日誌輸出嘛,看看從你的文件中讀取了多少行數據,插入了多少行,最後提交了多少行

⑦ 常用的sql函數

--數據操作
2
3 SELECT --從資料庫表中檢索數據行和列
4 INSERT --向資料庫表添加新數據行
5 DELETE --從資料庫表中刪除數據行
6 UPDATE --更新資料庫表中的數據
7
8 --數據定義
9
10 CREATE TABLE --創建一個資料庫表
11 DROP TABLE --從資料庫中刪除表
12 ALTER TABLE --修改資料庫表結構
13 CREATE VIEW --創建一個視圖
14 DROP VIEW --從資料庫中刪除視圖
15 CREATE INDEX --為資料庫表創建一個索引
16 DROP INDEX --從資料庫中刪除索引
17 CREATE PROCEDURE --創建一個存儲過程
18 DROP PROCEDURE --從資料庫中刪除存儲過程
19 CREATE TRIGGER --創建一個觸發器
20 DROP TRIGGER --從資料庫中刪除觸發器
21 CREATE SCHEMA --向資料庫添加一個新模式
22 DROP SCHEMA --從資料庫中刪除一個模式
23 CREATE DOMAIN --創建一個數據值域
24 ALTER DOMAIN --改變域定義
25 DROP DOMAIN --從資料庫中刪除一個域
26
27 --數據控制
28
29 GRANT --授予用戶訪問許可權
30 DENY --拒絕用戶訪問
31 REVOKE --解除用戶訪問許可權
32
33 --事務控制
34
35 COMMIT --結束當前事務
36 ROLLBACK --中止當前事務
37 SET TRANSACTION --定義當前事務數據訪問特徵
38
39 --程序化SQL
40
41 DECLARE --為查詢設定游標
42 EXPLAN --為查詢描述數據訪問計劃
43 OPEN --檢索查詢結果打開一個游標
44 FETCH --檢索一行查詢結果
45 CLOSE --關閉游標
46 PREPARE --為動態執行准備SQL 語句
47 EXECUTE --動態地執行SQL 語句
48 DESCRIBE --描述准備好的查詢
49
50 ---局部變數
51 declare @id varchar(10)
52 --set @id = 'sp'
53 select @id = 'sp'
54
55 ---全局變數
56 ---必須以@@開頭
57 --IF ELSE
58 declare @x int @y int @z int
59 select @x = 1 @y = 2 @z=3
60 if @x > @y
61 print 'x > y' --列印字元串'x > y'
62 else if @y > @z
63 print 'y > z'
64 else print 'z > y'
65 --CASE
66 use pubs
67 update employee
68 set e_wage =
69 case
70 when job_level = 』1』 then e_wage*1.08
71 when job_level = 』2』 then e_wage*1.07
72 when job_level = 』3』 then e_wage*1.06
73 else e_wage*1.05
74 end
75 --WHILE CONTINUE BREAK
76 declare @x int @y int @c int
77 select @x = 1 @y=1
78 while @x < 3
79 begin
80 print @x --列印變數x 的值
81 while @y < 3
82 begin
83 select @c = 100*@x + @y
84 print @c --列印變數c 的值
85 select @y = @y + 1
86 end
87 select @x = @x + 1
88 select @y = 1
89 end
90 --WAITFOR
91
92 --例 等待1 小時2 分零3 秒後才執行SELECT 語句
93
94 waitfor delay 』01:02:03』
95 select * from employee
96
97 --例 等到晚上11 點零8 分後才執行SELECT 語句
98
99 waitfor time 』23:08:00』
100
101
102SELECT
103
104 select *(列名) from table_name(表名) where column_name operator value ex宿主)
105 select * from stock_information where stockid = str(nid)
106 stockname = 'str_name'
107 stockname like '% find that %'
108 stockname like '[a-zA-Z]%' --------- ([]指定值的范圍)
109 stockname like '[^F-M]%' --------- (^排除指定范圍)
110 --------- 只能在使用like關鍵字的where子句中使用通配符)
111 or stockpath = 'path'
112 or stocknumber < 1000
113 and stockindex = 24
114 not stocksex = 'man'
115 stocknumber between 20 and 100
116 stocknumber in(10,20,30)
117 order by stockid desc(asc) --------- 排序,desc-降序,asc-升序
118 order by 1,2 --------- by列號
119 stockname = (select stockname from stock_information where stockid = 4)
120 --------- 子查詢
121 --------- 除非能確保內層select只返回一個行的值
122 --------- 否則應在外層where子句中用一個in限定符
123 select distinct column_name form table_name
124 --------- distinct指定檢索獨有的列值,不重復
125 select stocknumber ,"stocknumber + 10" = stocknumber + 10 from table_name
126 select stockname , "stocknumber" = count(*) from table_name group by stockname
127 --------- group by 將表按行分組,指定列中有相同的值
128 having count(*) = 2 --------- having選定指定的組
129
130 select *
131 from table1, table2
132where table1.id *= table2.id -------- 左外部連接,table1中有的而table2中沒有得以null表示
133 table1.id =* table2.id -------- 右外部連接
134 select stockname from table1
135 union [all] -------- union合並查詢結果集,all-保留重復行
136 select stockname from table2
137
138 insert
139
140 insert into table_name (Stock_name,Stock_number) value ("xxx","xxxx"
141 value (select Stockname , Stocknumber from Stock_table2)
142 -------value為select語句
143
144 update
145
146 update table_name set Stockname = "xxx" [where Stockid = 3]
147 Stockname = default
148 Stockname = null
149 Stocknumber = Stockname + 4
150
151 delete
152
153 delete from table_name where Stockid = 3
154 truncate table 表名 --------- 刪除表中所有行,仍保持表的完整性
155 drop table table_name --------- 完全刪除表
156
157 alter table -------- 修改資料庫表結構
158
159 alter table database.owner.table_name add column_name char(2) null ..
160 sp_help 表名 -------- 顯示表已有特徵
161 create table table_name (name char(20), age smallint, lname varchar(30))
162 insert into table_name select -------- 實現刪除列的方法(創建新表)
163 alter table table_name drop constraint Stockname_default
164 --------- 刪除Stockname的default約束
165
166
167常用函數(function)
168轉換函數
169convert(數據類型,值,格式)
170
171 統計函數
172
173 AVG --求平均值
174 COUNT --統計數目
175 MAX --求最大值
176 MIN --求最小值
177 SUM --求和
178 STDEV()
179
180 --STDEV()函數返回表達式中所有數據的標准差
181 --STDEVP()
182 --STDEVP()函數返回總體標准差
183
184 VAR()
185
186 --VAR()函數返回表達式中所有值的統計變異數
187
188 VARP()
189
190 --VARP()函數返回總體變異數
191
192 算術函數
193
194 三角函數
195
196 SIN(float_expression) --返回以弧度表示的角的正弦
197 COS(float_expression) --返回以弧度表示的角的餘弦
198 TAN(float_expression) --返回以弧度表示的角的正切
199 COT(float_expression) --返回以弧度表示的角的餘切
200
201 反三角函數
202
203 ASIN(float_expression) --返回正弦是FLOAT 值的以弧度表示的角
204 ACOS(float_expression) --返回餘弦是FLOAT 值的以弧度表示的角
205 ATAN(float_expression) --返回正切是FLOAT 值的以弧度表示的角
206 ATAN2(float_expression1,float_expression2)
207 ------返回正切是float_expression1 /float_expres-sion2的以弧度表示的角
208 DEGREES(numeric_expression)
209 ------把弧度轉換為角度返回與表達式相同的數據類型可為
210 ------INTEGER/MONEY/REAL/FLOAT 類型
211 RADIANS(numeric_expression)
212------把角度轉換為弧度返回與表達式相同的數據類型可為
213
214 ------INTEGER/MONEY/REAL/FLOAT 類型
215 EXP(float_expression) --返回表達式的指數值
216 LOG(float_expression) --返回表達式的自然對數值
217 LOG10(float_expression)--返回表達式的以10 為底的對數值
218 SQRT(float_expression) --返回表達式的平方根
219
220 取近似值函數
221
222 CEILING(numeric_expression)
223-------返回>=表達式的最大整數返回的數據類型與表達式相同可為
224 -------INTEGER/MONEY/REAL/FLOAT 類型
225 FLOOR(numeric_expression)
226-------返回<=表達式的最小整數返回的數據類型與表達式相同可為
227 -------INTEGER/MONEY/REAL/FLOAT 類型
228 ROUND(numeric_expression)
229-------返回以integer_expression 為精度的四捨五入值返回的數據
230 -------類型與表達式相同可為INTEGER/MONEY/REAL/FLOAT 類型
231 ABS(numeric_expression)
232-------返回表達式的絕對值返回的數據類型與表達式相同可為
233 -------INTEGER/MONEY/REAL/FLOAT 類型
234 SIGN(numeric_expression)
235-------測試參數的正負號返回0 零值1 正數或-1 負數返回的數據類型
236 -------與表達式相同可為INTEGER/MONEY/REAL/FLOAT 類型
237 PI() -------返回值為π 即3.1415926535897936
238 RAND([integer_expression])
239-------用任選的[integer_expression]做種子值得出0-1 間的隨機浮點數
240字元串函數
241
242 ASCII() ------函數返回字元表達式最左端字元的ASCII 碼值
243 CHAR() ------函數用於將ASCII 碼轉換為字元
244 ------如果沒有輸入0 ~ 255 之間的ASCII 碼值CHAR 函數會返回一個NULL 值
245 LOWER() ------函數把字元串全部轉換為小寫
246 UPPER() ------函數把字元串全部轉換為大寫
247 STR() ------函數把數值型數據轉換為字元型數據
248 LTRIM() ------函數把字元串頭部的空格去掉
249 RTRIM() ------函數把字元串尾部的空格去掉
250 LEFT(),RIGHT(),SUBSTRING() --函數返回部分字元串
251 CHARINDEX(),PATINDEX() --函數返回字元串中某個指定的子串出現的開始位置
252 SOUNDEX() ------函數返回一個四位字元碼
253 ------SOUNDEX函數可用來查找聲音相似的字元串但SOUNDEX函數對數字和漢字均只返回0 值
254 DIFFERENCE() ------函數返回由SOUNDEX 函數返回的兩個字元表達式的值的差異
255 ------0 兩個SOUNDEX 函數返回值的第一個字元不同
256 ------1 兩個SOUNDEX 函數返回值的第一個字元相同
257 ------2 兩個SOUNDEX 函數返回值的第一二個字元相同
258 ------3 兩個SOUNDEX 函數返回值的第一二三個字元相同
259 ------4 兩個SOUNDEX 函數返回值完全相同同
260 QUOTENAME() ------函數返回被特定字元括起來的字元串
261
262 /**//**//**//*select quotename('abc', '{') quotename('abc')
263 運行結果如下
264
265 {
266 {abc} [abc]*/
267 REPLICATE() ------函數返回一個重復character_expression 指定次數的字元串
268 /**//**//**//*select replicate('abc', 3) replicate( 'abc', -2)
269
270 運行結果如下
271
272 abcabcabc NULL*/
273 REVERSE() ------函數將指定的字元串的字元排列順序顛倒
274 REPLACE() ------函數返回被替換了指定子串的字元串
275 /**//**//**//*select replace('abc123g', '123', 'def')
276
277 運行結果如下
278
279 abcdefg*/
280
281 SPACE() ------函數返回一個有指定長度的空白字元串
282 STUFF() ------函數用另一子串替換字元串指定位置長度的子串
283
284 數據類型轉換函數
285
286 CAST() 函數語法如下
287 CAST() ( AS [ length ])
288 CONVERT() 函數語法如下
289 CONVERT() ([ length ], [, style])
290 select cast(100+99 as char) convert(varchar(12), getdate())
291
292 運行結果如下
293 199 Jan 15 2000
294
295 日期函數
296
297 DAY() ------函數返回date_expression 中的日期值
298 MONTH() ------函數返回date_expression 中的月份值
299 YEAR() ------函數返回date_expression 中的年份值
300 DATEADD( , ,)
301 -----函數返回指定日期date 加上指定的額外日期間隔number 產生的新日期
302 DATEDIFF( , ,)
303 -----函數返回兩個指定日期在datepart 方面的不同之處
304
305 DATENAME( , ------函數以字元串的形式返回日期的指定部分
306 DATEPART( , ------函數以整數值的形式返回日期的指定部分
307 GETDATE() ------函數以DATETIME 的預設格式返回系統當前的日期和時間
308
309 系統函數
310
311 APP_NAME() ------函數返回當前執行的應用程序的名稱
312 COALESCE() -----函數返回眾多表達式中第一個非NULL 表達式的值
313 COL_LENGTH(<'table_name'>, <'column_name'> ----函數返回表中指定欄位的長度值
314 COL_NAME(, ----函數返回表中指定欄位的名稱即列名
315 DATALENGTH() -----函數返回數據表達式的數據的實際長度
316 DB_ID(['database_name']) ------函數返回資料庫的編號
317 DB_NAME(database_id) ------函數返回資料庫的名稱
318 HOST_ID() -----函數返回伺服器端計算機的名稱
319 HOST_NAME() -----函數返回伺服器端計算機的名稱
320 IDENTITY([, seed increment]) [AS column_name])
321 --IDENTITY() 函數只在SELECT INTO 語句中使用用於插入一個identity column列到新表中
322 /**//**//**//*select identity(int, 1, 1) as column_name
323 into newtable
324 from oldtable*/
325
326 ISDATE() ----函數判斷所給定的表達式是否為合理日期
327 ISNULL(, --函數將表達式中的NULL 值用指定值替換
328 ISNUMERIC() ----函數判斷所給定的表達式是否為合理的數值
329 NEWID() ----函數返回一個UNIQUEIDENTIFIER 類型的數值
330 NULLIF(,
331 ----NULLIF 函數在expression1 與expression2 相等時返回NULL 值若不相等時則返回xpression1 的值

⑧ 如何解決DataStage抽取數據報SQL0302N錯

: SQLSTATE=22001 sqlcode = -302 的意思是「輸入的變數值對指定的列無效」 你應該是列沒對應上吧

⑨ SQL Server2008中查詢學號是302的學生的課程名和成績

select 課程名欄位,成績欄位 from 表名 where 學號 =302

⑩ 如何解決DataStage抽取數據報SQL0302N錯

SQLSTATE=22001
sqlcode = -302
的意思是「輸入的變數值對指定的列無效」
你應該是列沒對應上吧