我正在尝试获取Hijri GETDATE()并将其转换为此格式yyyymmdd
我已经尝试过这个脚本
SELECT CONVERT(VARCHAR(10), GETDATE(), 131)
但它给了我这种格式(16/06/1438),我真正需要的是(1438/06/16)
答案 0 :(得分:3)
SQL Server不为这些日期提供丰富的格式化选项,因此请自行构建:
SELECT (RIGHT(CONVERT(VARCHAR(10), GETDATE(), 131), 4) + '/' +
CONVERT(VARCHAR(5), GETDATE(), 131)
) as hj_yyyymmdd
糟糕。正确的想法,错误的实施:
SELECT (RIGHT(CONVERT(VARCHAR(10), GETDATE(), 131), 4) +
SUBSTRING(CONVERT(VARCHAR(10), GETDATE(), 131), 3, 4) +
LEFT(CONVERT(VARCHAR(10), GETDATE(), 131), 2)
) AS hj_yyyymmdd
答案 1 :(得分:1)
如果您使用的是SQL Server 2012及更高版本,
SELECT FORMAT(GETDATE()+1,'yyyy/MM/dd','ar')
它会为您提供日期2017/03/14
1438/06/16
答案 2 :(得分:1)
另一个选项是convert
到varchar
然后再date
然后varchar
。
使用format() with 'ar-SA'
似乎比使用样式convert()
的{{1}}提前1天返回。
131
rextester演示:http://rextester.com/LIX82417
返回
select Method='multiconvert'
,conversion = convert(varchar(10)
,convert(date,convert(varchar(12),getdate(),131),103),112)
union all
select 'format'
, format ( getdate(), 'yyyyMMdd', 'ar-SA' )
union all
select 'style131'
,convert(varchar(12),getdate(),131)
答案 3 :(得分:0)
尝试使用120:
SELECT CONVERT(VARCHAR(10), GETDATE(), 120)
答案 4 :(得分:0)
使用以下查询:
<script type="text/javascript">
$('input:text').keypress(function(e) {
var KeyID = e.keyCode;
switch(KeyID)
{
case 32:
alert("Space");
break;
case 13:
alert("Enter");
break;
default:
break;
}
})
答案 5 :(得分:0)
您可以使用以下查询执行此操作:
SELECT REPLACE(CONVERT(VARCHAR(10), GETDATE(), 120),'-','/')