Flo*_*ton 7 mysql sql datetime
我同时在表中存储了星期编号和它们对应的星期几(即星期一,星期二,星期三,.....)。
以下代码应该从日期返回星期数,但我无法解决这个问题
select WEEKOFYEAR(CURDATE())
Run Code Online (Sandbox Code Playgroud)
我的桌子:
RecordID|Record|WeekID|DayofWeek
--------------------------------
1 |text1 |43 |mon
2 |text2 |43 |tue
3 |text3 |44 |wed
Run Code Online (Sandbox Code Playgroud)
所需的输出:
RecordID|Record|Date
--------------------------------
1 |text1 |2019/10/30
2 |text2 |2019/10/31
3 |text3 |2019/11/01
Run Code Online (Sandbox Code Playgroud)
我想从他们那里获取日期(假设当前年份)。是否有可能在sql中完成,还是只能在服务器端完成?
*日期仅供参考
以下示例脚本可能会对您有所帮助。希望您的数据库中提供所有必要的值,并且您已将它们相应地传递给函数 -
SELECT STR_TO_DATE('2013 10 Tuesday', '%X %V %W');
--2013 is the year value
--10 is the week number
--Tuesday is the day name
Run Code Online (Sandbox Code Playgroud)
如果您的表中包含所有三个值,并运行提供适当值的 STR_TO_DATE 函数 - 这将返回一个类似于“2013-03-12”的日期。
您可以检查以下脚本 -
SELECT
STR_TO_DATE(concat('2019',' ', WeekID,' ', DayofWeek), '%X %V %W')
FROM (
SELECT 1 RecordID, 'text1' Record, 43 WeekID,'mon' DayofWeek UNION ALL
SELECT 2,'text2',43,'tue' UNION ALL
SELECT 3,'text3',44,'wed'
)A;
Run Code Online (Sandbox Code Playgroud)
您的最终查询应如下所示-
SELECT
STR_TO_DATE(concat('2019',' ', WeekID,' ', DayofWeek), '%X %V %W')
FROM your_table_name A;
Run Code Online (Sandbox Code Playgroud)
注意:2019 年是固定的,因为您的表中没有该值。如果可用,您还可以在使用其他列时动态使用该列。
| 归档时间: |
|
| 查看次数: |
89 次 |
| 最近记录: |