获取下一年的15个月的SQL查询。
今天
SELECT DATEADD(month, DATEDIFF(month, 0, GETDATE()), 0)
寻找:2018-8-15 00:00:00
我知道如何从今天开始一年:
<Spinner
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="left"
android:padding="0dp"
android:id="@+id/my_spinner">
我知道如何到月初:
SpinnerAdapter.getView(position, convertView, parent)
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
view.setPadding(0, view.getPaddingTop(), view.getPaddingRight(), view.getPaddingBottom());
return view;
}
但是我在将两者结合起来时遇到了麻烦。
答案 0 :(得分:5)
您可以将datefromparts
用于SQL Server 2012及更高版本。
select datefromparts(year(getdate())+1,month(getdate()),15)
答案 1 :(得分:2)
使用您拥有的代码截断当月的当天,但添加12个月(一年),并添加14天。
select dateadd(day,14,dateadd(month, 12+datediff(month, 0, getdate()), 0))
答案 2 :(得分:1)
SELECT DATEADD(month, DATEDIFF(month, 0, DATEADD(year, 1, DATEDIFF(day, 0, GETDATE())), 0)
答案 3 :(得分:1)
Vamsi Prabhala's回答值得接受。
但是,你应该考虑创建一个Calendar Table,因为它大大简化了日常工作的使用。
这是一个非常简单的查询,可以产生您想要的结果:
select * from Calendar C where C.year = datepart(year, getdate()) + 1
and C.day_of_month = 15 and C.month = datepart(m, getdate())