更新时间:2022-10-15 18:12:25
尝试使用当前日期在后端进行验证其中 DATENAME(MONTH,CreateDate)+ ' - ' + DATENAME(YEAR,CreateDate)= DATENAME(MONTH,GETDATE())+ ' - ' + DATENAME(年份,GETDATE())
或者如果你从前端传递值作为字符串使用这个选择 * 来自 es002300T0 其中 DATENAME(MONTH,CreateDate)+ ' - ' + DATENAME(年份,CreateDate)= @ dn
测试数据
声明 @ dn varchar ( 20 )
set @ dn = ' 2014年8月'
祝你好运; - )
只需转换其中CONVERT(varchar(10),CreateDate,100)= CONVERT(varchar(10),GETDATE(),100)
我的意思是,如果您的要求是匹配2012年3月以匹配只有月份和年份的案例。
如果任何案例的月份和年份匹配,则检索记录
用于测试首先我给出一个只给出年和月的例子select convert(varchar(7),getdate(),111 )
参见上面的查询将返回你像2014/08的Restuls 在这种情况下,我们将确认两边的相同比赛案例确定
所以我们的查询将如下所示其中CONVERT(varchar(7),CreateDate,111)= CONVERT(varchar(7),GETDATE(),111)
其中CONVERT(varchar(10),CreateDate,100)= CONVERT(varchar(10),@ searchdate,100)
即请使用存储过程,其中参数为@searchdate并使用上述条件,并从前端使用存储过程并将输入的日期作为参数传递。
I have a table in sql server 2008 name PersonalInformation. in this table there is a column named CreateDate which stores the date for inserted record. Now i want to search record from table according to date. My search string is like Month-Year and CreateDate is store using GETDATE() function of Sql Server. If i search using The format Month-Year for eg: March-2012 i want the month and year which match with table record is displayed and also record inserted before March-2012 also displayed. How could i achieve this? Thanks in advance.
try this if u r validating in back end using current datewhere DATENAME(MONTH, CreateDate) + '-' + DATENAME(YEAR, CreateDate)=DATENAME(MONTH, GETDATE()) + '-' + DATENAME(YEAR, GETDATE())
or use this if u r passing value as string from front endselect * from es002300T0 where DATENAME(MONTH, CreateDate) + '-' + DATENAME(YEAR, CreateDate)=@dn
tested datadeclare @dn varchar(20) set @dn='August-2014'
good luck ;-)
Simply you can put your condition on date with by convertingwhere CONVERT(varchar(10),CreateDate,100) = CONVERT(varchar(10),GETDATE(),100)
I mean if your requirement is to match "March-2012" that to match case only month and year.
If month and year of any case match then to retrieve the record
For to test First I am giving one example which will give you only year and monthselect convert(varchar(7),getdate(),111)
See in above query will return you Restuls like "2014/08" In this case we will confirm on same match case on both side ok
So our query will be like belowwhere CONVERT(varchar(7),CreateDate,111) = CONVERT(varchar(7),GETDATE(),111)
where CONVERT(varchar(10),CreateDate,100) = CONVERT(varchar(10),@searchdate,100)
i.e please use a stored procedure for this which takes a parameter as "@searchdate" and use above condition and from your front end use the stored procedure and pass the entered date as parameter.