我的calendar_table中有一个日期列属性,我存储了我的日期,我想添加另一列date_name
,然后自动填充所有列,如下所示。
日期: 2017-07-28 到date_name
7月28日,星期五
目前正在使用heidiSQL(MySQL)
我在下面尝试了查询,但它说有语法错误
SELECT [date],
DATENAME(day, [date]) + ' ' + DATENAME(month, [date]) + ', ' + DATENAME(DW, [date])
FROM [dbo].[DatesTable]( -- current month calendar table
DATEADD(dd,1,EOMONTH (GETDATE(), -1)),
EOMONTH (GETDATE())
)
Select cd.date
from calendar_table as cd
INSERT into cd.date_name values (
CAST(DATEPART(DAY,DateTime) AS VARCHAR(2)) + ' ' + CAST(DATENAME(MONTH,DateTime) AS VARCHAR(12)) + ','+ CAST(DATENAME(DAY,DateTime) AS VARCHAR(8)))
答案 0 :(得分:0)
如果您想将日期从默认格式yyyy-mm-dd
(例如:2017-07-28
)转换为任何其他 text 格式,例如28 July, Friday
,您必须使用{ {3}}功能。
示例:
SELECT @dt:=CAST( '2017-07-28' AS DATE ) AS dt
, DATE_FORMAT( @dt, '%d %M, %W' ) AS formatted_date_string
输出将采用以下格式:
+------------+-----------------------+
| dt | formatted_date_string |
+------------+-----------------------+
| 2017-07-28 | 28 July, Friday |
+------------+-----------------------+
您可以在交易中使用相同或类似的格式 但我的建议不是将格式化的日期字符串存储到数据库中,而是将日期和时间存储为默认格式。您可以在这些字段上应用格式以进行视图和打印。