❶ sql語句日期判斷問題
10年前這里有3種意思,
1、10年前的那一年
select * from 表 where datediff(year,日期欄位,'1999-11-25')=10
2、10年前的那一天
select * from 表 where datediff(day,日期欄位,dateadd(year,-10,'1999-11-25'))=0
3、10年以前的所有年份
select * from 表 where datediff(year,日期欄位,'1999-11-25')>=10
❷ sql 如何判斷一個欄位的數據是否為日期形式,並將是日期形式的select出來
兩個字元兩個字元來判斷
substring(欄位名,1,2)----好象年就沒什麼可判斷的了
substring(欄位名,3,2)----between
01
and
12,不在范圍內就不算日期
substring(欄位名,5,2)----這個有點麻煩,要結合月份來判斷,譬如2月有時有28天有時29天,其他月份有的31天,有的30天,所以可以判斷between
01
and
28的肯定可以判斷正確,如果超過28的要結合月份及年份來判斷了
❸ 怎樣用SQL語句判斷某個欄位內容是否符合日期格式,那個正則表達式怎寫請高手幫幫忙。
正則表達式語法 一個正則表達式就是由普通字元(例如字元 a 到 z)以及特殊字元(稱為元字元)組成的文字模式。該模式描述在查找文字主體時待匹配的一個或多個字元串。正則表達式作為一個模板,將某個字元模式與所搜索的字元串進行匹配。 這里有...
❹ 用sql語句如何判斷年、月、日是否在日期范圍呢
你是要 判斷一個 varchar 類型的 數據, 是不是 日期類型?
也就是相當於一個 ISDate() 函數的判斷么?
如果是 SQL Server 的話, 已經有這樣的函數了。
1> select isdate('2012-10-10') A, isdate('2012-13-13') B
2> go
A B
----------- -----------
1 0
(1 行受影響)
如果是 Oracle 資料庫的話, 可以嘗試 TO_DATE 再捕獲異常的方式進行處理。
create or replace function isdate(p_date in varchar2)
return number
as
v_date date;
begin
v_date:=to_date(p_date, 'YYYY-MM-DD');
return 1; --正確
exception
when others then
return 0;
end;
SQL> select isdate('2012-10-10') A, isdate('2012-13-13') B FROM al;
A B
---------- ----------
1 0
❺ sql里怎麼判斷這個日期是否是當月的嗎(算上年)
什麼資料庫呀
sqlserver為例
selectcount(id)fromOA_clockingwheremonth(creat_date)=month(getdate())
❻ sql語句怎麼判斷datetime類型欄位是否處在一個日期時間段中
MS SQL Server 中日期型常量格式 'YYYY-MM-DD'
你要把C#裡面的變數值轉成這樣的格式寫到SQL語句中。而且要注意單引號!
❼ sql 如何判斷某個日期是否在這個月內
witht1(d)as(
selectcast('2013-12-02'asdatetime)
unionallselectcast('2014-1-10'asdatetime)
),
t2(d)as(
selectdateadd(mm,datediff(mm,0,getdate()),0)
)--月初
selectt1.*
fromt1joint2ont1.dbetweent2.dandt2.d+31-day(t2.d+31)--月初到月末
❽ 寫SQL語句的問題,怎麼判斷欄位里的日期是否為今天
1234--如果日期欄位為datetime類型可以通過欄位與getdate()的值進行比較,相等的話就是今天select * from 表名 where convert(varchar(10), getdate(), 23)=convert(varchar(10), 時間欄位, 23)--選擇出來的就是今天的數據
❾ 怎麼用sql語句判斷字元串是否是日期格式
具體思路:
1.判斷字元串是否8位
2.如果是8位,通過datalength判斷是否8位,如果不是8位,說明字元串中存在漢字或者不可見字元
3.通過Ascii碼對8位中的每一位字元進行判斷,目的是判斷是否數字(按照AsciI碼可以避免不可見字元)
4.如果符合上述3中條件,說明字元是8位的數字,判斷是否正常日期