declare @start_date datetime
declare @end_date datetime
declare @days int
select @start_date = '06/11/2017'
select @end_date = '12/11/2017'
select @days = datediff(dd,@start_date,@end_date) +1
select
[Date] = dateadd(dd,number-1,@start_date),
[Day of Week] = datename(weekday,dateadd(dd,number-1,@start_date))
from
dbo.F_TABLE_NUMBER_RANGE( 1, @days )
order by
number
这个我试过并为我工作干杯!
0
tl;博士
使用Java . 自动本地化 .
myResultSet.getObject( … , LocalDate.class ) // Retrieve a `LocalDate` object from your database.
.getDayOfWeek() // Fetch the `DayOfWeek` object appropriate for this date. Ex: DayOfWeek.MONDAY
.getDisplayName( // Generate a String of the name of day-of-week.
TextStyle.FULL , // How long or abbreviated?
Locale.US // Or Locale.CANADA_FRENCH, etc.
)
2 回答
你可以试试这个:
您可以从此链接获取F_TABLE_NUMBER_RANGE函数:
http://www.sqlteam.com/forums/topic.asp?TOPIC_ID=47685
这个我试过并为我工作干杯!
tl;博士
使用Java . 自动本地化 .
详情
通常最好在您的应用程序中进行此类转换,而不是SQL,恕我直言 .
Java现在在Java 8及更高版本java.time类中拥有业界领先的日期时框架 .
LocalDate类表示没有时间且没有时区的仅日期值 .
使用JDBC 4.2及更高版本,您可以直接与数据库交换java.time对象 .
DayOfWeek枚举提供七个现有对象,一个星期中的每一天 . 使用
getDisplayName
方法生成星期几的自动本地化名称 .或者,美国英语:
将
LocalDate
对象与isBefore
和isAfter
以及其他方法进行比较 . 通过调用LocalDate::plusDays
以递增方式循环每个日期 .关于java.time
java.time框架内置于Java 8及更高版本中 . 这些类取代了麻烦的旧legacy日期时间类,例如java.util.Date,Calendar和SimpleDateFormat .
现在位于maintenance mode的Joda-Time项目建议迁移到java.time类 .
要了解更多信息,请参阅Oracle Tutorial . 并搜索Stack Overflow以获取许多示例和解释 . 规格是JSR 310 .
您可以直接与数据库交换java.time对象 . 使用符合JDBC 4.2或更高版本的JDBC driver . 不需要字符串,不需要
java.sql.*
类 .从哪里获取java.time类?
Java SE 8,Java SE 9,以及之后
内置 .
具有捆绑实现的标准Java API的一部分 .
Java 9增加了一些小功能和修复 .
Java SE 6和Java SE 7
大部分java.time功能在ThreeTen-Backport中反向移植到Java 6和7 .
Android
更新版本的Android捆绑java.time类的实现 .
对于早期的Android,ThreeTenABP项目采用ThreeTen-Backport(如上所述) . 见How to use ThreeTenABP… .
ThreeTen-Extra项目使用其他类扩展了java.time . 该项目是未来可能添加到java.time的试验场 . 您可以在这里找到一些有用的类,例如Interval,YearWeek,YearQuarter和more .