我的数据库中有以下格式的日期。
10/16
- mm/yy
我需要将其转换为:
October/16
这可能吗?
如果不可能那么请告诉我原因。
答案 0 :(得分:1)
这不是约会,它错过了一天,这是存储年/月的坏方法。应该有一个4位数的年份以避免混淆,应该首先列出年份以实现正确的排序,例如'2016/10'
或数字201610
。
您可以先将其投放到DATE,然后使用FORMAT仅显示月/年:
set dateformat myd;
select format(cast(mystupidcolumn + '/1' as date), 'MMMM/yy')
或SUBSTR月份部分并使用CASE。
答案 1 :(得分:0)
是的,你可以,它取决于你用来调用日期函数的数据库 如果您列为日期时间格式
DATENAME(Month, GETDATE())
MONTHNAME(now())
,否则
转换它将在您选择的数据库或代码逻辑
在enum
月分割值和查找,或者假定要接受的日期和完整的日期格式,如01/10/16
所以做SELECT DATENAME(Month, datecolumn) + '/' + YEAR (datecolumn)
您也可以使用而不是Year
函数DATEPART(yy,datecolumn)
你使用格式的方式看起来像
CONVERT(VARCHAR(11),GETDATE(),106)
但除了获得月份JUN
答案 2 :(得分:0)
尝试这种格式,
SELECT DATENAME(month, DATEADD(month, @mydate-1, CAST('2008-01-01' AS datetime)))
答案 3 :(得分:0)
您可以使用此代码
显示日期select datename(month, YourColumnName) + '/' + right(YEAR(YourColumnName),2)
FROM yourTableName
只需使用表格列的名称更改yourColumnName
,使用表格名称更改yourTableName
。