0
A
回答
1
减去从今天月份的一天,你会得到前一个月的最后一天:
date_sub(now(), day(now())
这包括当前时间。
要获得午夜您可以将其截断到有一天开始一个月核减:
date_sub(trunc(now(), 'month'), 1)
两个结果时间戳,但可以很容易地浇铸为字符串。
0
使用的regexp
SELECT
days_sub(
regexp_replace(
regexp_extract(
cast(now() AS string),
'[\\d-]{10}',
0
), /* Get today in format: YYYY-mm-dd */
'\\d{2}$', '01'
), /* Get the first day of this month: YYYY-mm-01 */
1
) /* Subtract one day */
AS DAY
一个衬里
SELECT days_sub(regexp_replace(regexp_extract(cast(now() AS string), '[\\d-]{10}', 0),'\\d{2}$', '01'), 1) AS DAY
使用提取 & 的concat功能
SELECT
days_sub(
concat(
cast(extract(now(),'year') AS string), /* Extract current year*/
'-',
regexp_replace(
cast(extract(now(),'month') AS string), /* Extract current month */
'^\\d$', '0\\0'
), /* Make sure the month has two digits e.g. from '1' create '01' */
'-01'
), /* Concat current year, month and day one */
1
) /* Subtract one day */
AS DAY
一个衬里
SELECT days_sub(concat(cast(extract(now(),'year') AS string), '-', regexp_replace(cast(extract(now(),'month') AS string), '^\\d$', '0\\0'), '-01'), 1) AS DAY
比较
两种选项都导致TIMESTAMP
类型的相同的结果:
2017-06-30 00:00:00
可以投编辑字符串使用cast(result as string)
正则表达式方式似乎对我更可读,所以我使用该版本。
相关问题
- 1. 如何获得前一个月最后一天绑定数据
- 2. 如何在SQL Server中获取前一个月的第一天和最后一天(带时间戳)
- 3. 如何在YearMonth对象中获取月份的最后一天?
- 4. 如何获得前一个月的最后一天,在Javascript或JQuery的
- 5. 在HIVE查询中获取上个月的最后一天
- 6. 如何在php中获取最后x(x = 3,6或12)个月的第一天和最后一天?
- 7. 我如何获得一个月的最后一天?
- 8. 如何获得一个月(SQL Server)的最后一天
- 9. 获取上个月的第一天和最后一天的日期在C#
- 10. 如何使用Apache DateUtils从第一天到最后一天使用time [JAVA]获取前一个月?
- 11. Powershell如何得到2个月前的最后一天
- 12. 如何获取给定月份的第一天和最后一天
- 13. 如何从YearMonth日期获取月份的最后一天?
- 14. 如何使用javascript获取当月的最后一天?
- 15. 在PHP中,无论当前月份中的哪一天是哪一天,获取上个月最后一天的最有效方法是什么?
- 16. 如何在C#中获得本月的最后一天?
- 17. 从python的年份月份获取月份的最后一天
- 18. 在Go/Golang中获取本月的第一天和最后一天?
- 19. 在SQL中获取每月的最后一天
- 20. TSQL从前几个月的最后一天到指定月份
- 21. 如何在excel中获取本月的最后一个日期
- 22. PHP - MYSQL:每月最后12个月的第一天到最后一天
- 23. 本月的最后一天?
- 24. MomentJS - 如何从日期获得上个月的最后一天?
- 25. 如何获得每个月的最后一天?
- 26. javascript日期前一个月的最后一天
- 27. 如何显示前一个月的最后一天相对于某个日期?
- 28. C#.Net从当前日期获取上个月的最后一天
- 29. 如何在Sql Server查询中获取每月的最后一天的行
- 30. 如何获取每个月的第一个和最后一个月
哇,那太优雅了,不可能是真的:D – jirislav
@jirislav:不,太简单了:-) – dnoeth