sql比較運算
㈠ sql運算符解釋
這些符號一般都是查詢語句里邊使用的。比如比較運算符: (表student結構:sname sage
查詢student表中所有年齡在19歲以下的學生姓名及年齡。 張三 17
Select Sname, Sage 李四 18
From student 王五 20
Where Sage < 19
這些都是一些查詢語句時的條件。以前我學的課本上都有詳細的解釋。你是自學么?
㈡ sql中比較運算符,>什麼意思
>不就是大於號么。select
*
from
table
where
a>1;意思就是a欄位數值大於1的
<>是不等於。比如select
*
from
table
where
a<>1;意思就是a欄位數值不等於1的。
如果反過來select
*
from
table
where
1>a;意思就是a欄位數值小於1的
㈢ SQL資料庫中有哪幾類運算啊
主要四種
1實體完整性約束(每一行反應不同的實體)
通過索引,唯一約束。主鍵約束或標識屬性來體現
2域完整性約束(指給定列的輸入有效性)
通過限制數據類型,檢查約束,輸入格式,外鍵約束,默認值,非空等體現
3引用完整性約束(表之間的聯系)
通過主外建
4自定義完整性約束(根據用戶的需求)
㈣ sql語句中比較運算符<>是什麼意思
表示不等於的意思,也可以使用!=這個操作符來表示不等於的意思哦!在SQL中這兩種不等於的操作符都是行得通的,之前某個菜鳥否認!=在sql中行得通呢,執意認為是在程序中方可行……真是可笑
㈤ sql使用比較運算符查詢
select * from TABLE where x between 100 and 200 and y between 300 and 500;
㈥ sql 數據查詢比較,『不等於』,為什麼建議使用<> 而不是用!= 這有什麼實質性的區別
!=
測試某個表達式是否不等於另一個表達式(比較運算符)。如果任何一個操作數為 NULL,或兩個都為 NULL,則返回 NULL。其功能與 <>(不等於)比較運算符相同。
<>
比較兩個表達式(比較運算符)。當比較非空表達式時,如果左操作數不等於右操作數,則結果為 TRUE;否則結果為 FALSE。如果任何一個操作數為 NULL 或兩個都為 NULL,
㈦ SQL中如何進行兩個表之前的記錄數比較。並選擇其中一方的數據
不很明白你的意思,但如果從B表中選出A表中不存在的記錄可以用集合差運算,如下語句:
Select * from B minus select * from A;
這個語句要求A、B兩個表結構完全一致。
㈧ SQL語句 怎樣比較兩個日期的大小
慣例,在等號左邊盡量不要有對欄位的運算,所以一般用法有:
1、判斷其是否在某個日期區間:
Where CheckDate Between '2013-01-01' And '2013-01-31'
這個方法也可用於加幾天是多少,或減幾天是多少:
把起迄日期參數化,原CheckDate要加的,那就變成@BeginDate加,減也同理~
2、判斷其是否大於某天:
Where CheckDate >'2013-01-01' 或大於等於:Where CheckDate >='2013-01-01'
小於某天
Where CheckDate <'2013-01-01' 或小於等於:Where CheckDate <='2013-01-01'
3、判斷其是否等於某天:
如果Check欄位不帶時間,只是年月日,那直接等於就可以了;
Where CheckDate ='2013-01-01'
如果CheckDate欄位是攜帶時間的就會有差別;這一點,在上述所有方法中都需要注意
eg:CheckDate 實際存儲值可能是: 20130101 08:50:54:000 或 20130101 22:50:54:000
這時直接用上面的等號是抓不到的,因此或改寫成:
Where CheckDate >= '2013-01-01' And CheckDate < '2013-01-02'
當然也可以把'2013-01-01',定義為參數@Date DateTime
Where CheckDate >= @Date And CheckDate < @Date+1
不建議在等號左邊使用函數或計算對表欄位進行計算。
以上是兩個日期的判斷,另外有些日期處理函數可以了解一下:
DATEDIFF ( datepart , startdate , enddate )
返回指定的 startdate 和 enddate 之間所跨的指定 datepart 邊界的計數(帶符號的整數)。
eg:
Select DateDiff(DAY,'20130101','20130105')
1號到5號相差4天,輸出結果為4
常用的datepart 有:
datepart 縮寫
year yy, yyyy 年
month mm, m 月
day dd, d 日
week wk, ww 周
hour hh 時
minute mi, n 分
second ss, s 秒
DATEADD(datepart, number, date)
將表示日期或時間間隔的數值與日期中指定的日期部分相加後,返回一個新的 DT_DBTIMESTAMP 值。number 參數的值必須為整數,而 date 參數的取值必須為有效日期。
eg:
Select DATEADD(DAY,1,'20130101')
1號加1天就是2號;輸出結果為 『2013-01-02』
Number可以是負數就變成減幾天
DATEADD(datepart, number, date)
將表示日期或時間間隔的數值與日期中指定的日期部分相加後,返回一個新的 DT_DBTIMESTAMP 值。number 參數的值必須為整數,而 date 參數的取值必須為有效日期。
eg:
Select DATEPART(DAY,'20130101')
返回datepart描述的部分,輸出結果為 1
㈨ 在SQL中怎樣實現字元串大小的比較
sql裡面字元串沒有大小之分,只有長度之分,可以比較長度大小,但是想用一條sql語句直接拿到大小結果來說也不太方便,最好是藉助程序或者sql腳本來做,我用oracle試了下,用case when函數是可以直接比較大小的,比如第一個值比第二個大輸出0,否則輸出1:
select(casewhenlen1>len2then0whenlen1<len2then1end)asresfrom(
selectlength('asd')aslen1,length('as')aslen2fromal)t
㈩ sql日期比較大小
要用SQL來比較日期大小可使用 DATEDIFF 函數 [日期和時間],該函數的功能:返回兩個日期之間的間隔。
語法: DATEDIFF ( date-part, date-expression-1, date-expression-2 )
date-part : year | quarter | month | week | day | hour | minute | second | millisecond
參數 date-part 指定要測量其間隔的日期部分。
有關日期部分的詳細信息,請參見日期部分。
date-expression-1 某一間隔的起始日期。從 date-expression-2 中減去該值,返回兩個參數之間 date-parts 的天數。
date-expression-2 某一間隔的結束日期。從該值中減去 Date-expression-1,返回兩個參數之間 date-parts 的天數。
用法 此函數計算兩個指定日期之間日期部分的數目。結果為日期部分中等於(date2 - date1)的有符號的整數值。
當結果不是日期部分的偶數倍時,DATEDIFF 將被截斷而不是被舍入。
當使用 day 作為日期部分時,DATEDIFF 返回兩個指定的時間之間(包括第二個日期但不包括第一個日期)的午夜數。
當使用 month 作為日期部分時,DATEDIFF 返回兩個日期之間(包括第二個日期但不包括第一個日期)出現的月的第一天的數目。
當使用 week 作為日期部分時,DATEDIFF 返回兩個日期(包括第二個日期但不包括第一個日期)之間星期日的數目。
對於更小的時間單位存在溢出值:
milliseconds 24 天
seconds 68 年
minutes 4083 年
others 沒有溢出限制
如果超出這些限制,此函數將返回溢出錯誤。
標准和兼容性 SQL/92 Transact-SQL 擴展。
SQL/99 Transact-SQL 擴展。
Sybase 與 Adaptive Server Enterprise 兼容。
下面示例的語句返回 1: SELECT datediff( hour, '4:00AM', '5:50AM' )
下面的語句返回 102: SELECT datediff( month, '1987/05/02', '1995/11/15' )
下面的語句返回 0: SELECT datediff( day, '00:00', '23:59' )
下面的語句返回 4: SELECT datediff( day,'1999/07/19 00:00','1999/07/23 23:59' )
下面的語句返回 0: SELECT datediff( month, '1999/07/19', '1999/07/23' )
下面的語句返回 1: SELECT datediff( month, '1999/07/19', '1999/08/23' )