You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Sybase SQL查询脚本中转换ApplicationDate字段的日期格式

Sybase日期格式转换解决方案

Sybase ASE 并不支持 FORMAT() 函数(该函数为SQL Server 2012及以上版本特有),这是你之前的语句未生效的核心原因。针对你的需求,推荐两种可行方案:

方案一:使用CONVERT()函数(推荐)

Sybase原生支持CONVERT()函数进行日期格式转换,其中样式码121正好对应你需要的yyyy-MM-dd HH:mm:ss.fff格式:

SELECT EmployeeCode, EmployeeName, CONVERT(varchar(23), ApplicationDate, 121) AS ApplicationDate
FROM dbo.employee_leaves
  • varchar(23)是该格式字符串的固定长度(例如2023-04-16 07:09:47.563共23个字符),避免截断或冗余。
  • 样式码121代表ODBC标准带毫秒的日期格式,完全匹配你的需求。

方案二:DATEPART拼接(兼容旧版Sybase)

如果你的Sybase版本较旧不支持样式码121,可以通过DATEPART()提取日期各部分并补零拼接:

SELECT 
    EmployeeCode,
    EmployeeName,
    STR(DATEPART(year, ApplicationDate), 4) + '-' +
    RIGHT('0' + STR(DATEPART(month, ApplicationDate), 2), 2) + '-' +
    RIGHT('0' + STR(DATEPART(day, ApplicationDate), 2), 2) + ' ' +
    RIGHT('0' + STR(DATEPART(hour, ApplicationDate), 2), 2) + ':' +
    RIGHT('0' + STR(DATEPART(minute, ApplicationDate), 2), 2) + ':' +
    RIGHT('0' + STR(DATEPART(second, ApplicationDate), 2), 2) + '.' +
    RIGHT('00' + STR(DATEPART(millisecond, ApplicationDate), 3), 3) AS ApplicationDate
FROM dbo.employee_leaves
  • 通过RIGHT('0' + ..., 2)确保月、日、时、分、秒为两位数字,不足补零;毫秒部分用RIGHT('00' + ..., 3)确保三位数字。

内容的提问来源于stack exchange,提问作者Bami

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 00:32:29