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

如何将SQL查询中belgetarihi的格式转换为与vadetarihi一致?

解决方案

要让belgetarihi字段的显示格式与vadetarihi完全一致,核心是对belgetarihi使用和vadetarihi相同的日期格式化逻辑。由于原查询用了ICE_ODEMEBASLIK.*(查询全表字段),需要替换为明确列出字段并单独处理belgetarihi。

修改步骤

  1. 替换通配符查询:去掉ICE_ODEMEBASLIK.*,明确列出该表中除belgetarihi外的所有字段(需根据实际表结构补充完整)。
  2. 格式化belgetarihi:使用与vadetarihi一致的日期转换函数(以SQL Server常用的CONVERT为例),将belgetarihi转换为目标格式并保留原字段名。

从原查询的日期条件可推测,vadetarihi的显示格式为dd.mm.yyyy(对应格式码103),修改后的完整SQL语句如下:

SELECT 
    -- 列出ICE_ODEMEBASLIK表中除belgetarihi外的所有字段,需替换为实际表字段
    ICE_ODEMEBASLIK.ID,
    ICE_ODEMEBASLIK.IOdurum,
    ICE_ODEMEBASLIK.odemetipi,
    ICE_ODEMEBASLIK.pin,
    ICE_ODEMEBASLIK.plankod,
    ICE_ODEMEBASLIK.karsiplankod,
    ICE_ODEMEBASLIK.kayitdamga,
    ICE_ODEMEBASLIK.UQ_caribanka,
    ICE_ODEMEBASLIK.IDfisbaslik,
    ICE_ODEMEBASLIK.vadetarihi,
    -- 将belgetarihi转换为与vadetarihi一致的dd.mm.yyyy格式
    CONVERT(VARCHAR, ICE_ODEMEBASLIK.belgetarihi, 103) AS belgetarihi,
    ORT_DOSYALAR_kayitdamga AS DSY_kayitdamga,
    HP.ID HP_ID,
    HP.planadi HP_planadi,
    KP.ID KP_ID,
    KP.planadi KP_planadi,
    ICE_CARIBANKA.ID CBANKA_ID,
    ICE_CARIBANKA.kod CBANKA_kod,
    ICE_CARIBANKA.hesapnr CBANKA_hesapnr,
    ICE_CARIBANKA.subenr  CBANKA_subenr,
    ICE_CARIBANKA.subeadi CBANKA_subeadi
FROM 
    ICE_ODEMEBASLIK WITH (NOLOCK)  
LEFT JOIN 
    ORT_PLAN AS HP WITH (NOLOCK) ON ICE_ODEMEBASLIK.plankod = HP.plankod
LEFT JOIN 
    ORT_PLAN AS KP WITH (NOLOCK) ON ICE_ODEMEBASLIK.karsiplankod = KP.plankod
LEFT JOIN 
    (SELECT DISTINCT 
         ORT_DOSYALAR.kayitdamga AS ORT_DOSYALAR_kayitdamga  
     FROM 
         ORT_DOSYALAR WITH (NOLOCK)   
     WHERE 
         ORT_DOSYALAR.tablo = 6) AS DOSYA ON ICE_ODEMEBASLIK.kayitdamga = ORT_DOSYALAR_kayitdamga
LEFT JOIN 
    ICE_CARIBANKA WITH (NOLOCK) ON ICE_CARIBANKA.kayitdamga = ICE_ODEMEBASLIK.UQ_caribanka
WHERE 
    1 = 1 
    AND ICE_ODEMEBASLIK.IOdurum = -1
    AND ICE_ODEMEBASLIK.odemetipi = 1
    AND ICE_ODEMEBASLIK.pin = 0
    AND ICE_ODEMEBASLIK.belgetarihi >= CONVERT(DATETIME, '01.01.2022', 103)
    AND ICE_ODEMEBASLIK.belgetarihi < CONVERT(DATETIME, '01.01.2023', 103)
ORDER BY 
    CONVERT(DATE, ICE_ODEMEBASLIK.belgetarihi, 103),
    ICE_ODEMEBASLIK.IDfisbaslik,
    ICE_ODEMEBASLIK.vadetarihi

关键说明

  • 若vadetarihi使用的是其他格式(如yyyy-mm-dd对应格式码23、mm/dd/yyyy对应101),只需将CONVERT函数中的103替换为对应的格式码即可。
  • 必须明确列出ICE_ODEMEBASLIK的所有字段(除belgetarihi),不能再用*,否则会同时返回原始格式和转换后的belgetarihi字段,导致字段重复。

内容的提问来源于stack exchange,提问作者Rasim Tünceli

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 17:15:43