我打算在SQL Server中将'2018-07-02 00:01:22.000'
转换为'02-Jul-18'
。我已经使用基本的SQL Server CONVERT()
函数尝试了以下可能性,但无法获得解决方案。
SELECT CONVERT(varchar(11), transfer_date, 106)
DECLARE @Date AS DateTime = '2018-07-02 00:01:22.000'
SELECT CONVERT(varchar(12), @Date, 106)
答案 0 :(得分:1)
以下查询将有助于以DD-Mon-YY
格式返回DateTime:
DECLARE @Date AS DateTime = '2018-07-02 00:01:22.000';
SELECT REPLACE(CONVERT(VARCHAR(9), @Date, 6), ' ', '-');
结果:
02-Jul-18
答案 1 :(得分:0)
尝试下面的代码行:
declare @Date as DateTime='2018-07-02 00:01:22.000'
select REPLACE(Convert(varchar(12),@Date,106),' ','-')
答案 2 :(得分:0)
如果要将 string '2018-07-02 00:01:22.000'
转换为 string '02-Jul-18'
,则必须使用CONVERT
两次,一次将输入带日期,然后第二次将日期带回您想要的格式的字符串。
SELECT
REPLACE(CONVERT(varchar,
CONVERT(datetime, '2018-07-02 00:01:22.000', 121),
106), ' ' , '-');
请注意,如果您的起始值已经是日期时间,则可以取消对CONVERT
的调用之一:
SELECT REPLACE(CONVERT(varchar, transfer_date, 106), ' ' , '-');
答案 3 :(得分:0)
您可以尝试这样的事情:
import sys
import os.path,subprocess
def execute_java():
java_class,ext = os.path.splitext(java_file)
cmd = ['java',"-jar pdfbox-app-2.0.11.jar ExtractText file.pdf"]
subprocess.call(cmd, shell=False)
示例:http://rextester.com/BCAZ47264
结果:declare @mydate datetime2
declare @converted varchar(100)
set @mydate = cast('2018-07-02 00:01:22.000' as datetime2)
set @converted = replace(convert(varchar, @mydate , 106), ' ', '-')
select concat(left(@converted, 7), right(@converted, 2))
一个语句查询
02-Jul-18