首页 > 其他分享 >[20241222]关于日期输出格式问题.txt

[20241222]关于日期输出格式问题.txt

时间:2024-12-23 21:32:22浏览次数:10  
标签:sysdate -- echo char dual 格式 txt 20241222 select

[20241222]关于日期输出格式问题.txt

--//https://connor-mcdonald.com/ 网站写了一系列相关blog,命名为Kris Kringle系列。
--//其中链接提到的例子https://connor-mcdonald.com/2024/12/21/kris-kringle-the-database-what-day-is-it/
--//重复测试:

1.环境:
SCOTT@book01p> @ ver2
==============================
PORT_STRING                   : x86_64/Linux 2.4.xx
VERSION                       : 21.0.0.0.0
BANNER                        : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
BANNER_FULL                   : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.3.0.0.0
BANNER_LEGACY                 : Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
CON_ID                        : 0
PL/SQL procedure successfully completed.

2.测试:
SCOTT@book01p> select '~'||to_char(sysdate,'DAY')||'~' from dual;

'~'||TO_CHAR(SY
---------------
~SUNDAY   ~

--//实际上输出是char类型,注意结尾有空格,占用9个字符。规避后面的空格要加入FM。

SCOTT@book01p> select '~'||to_char(sysdate,'FMDAY')||'~' from dual;
'~'||TO_CHAR(SY
---------------
~SUNDAY~

--//实际上在输出格式上还有一些细节,看下面的例子:

$ echo {D,d}{A,a}{Y,y}
DAY DAy DaY Day dAY dAy daY day

$ echo set feed off head off ; echo -e {D,d}{A,a}{Y,y}"\n" | xargs -IQ echo "select 'Q',to_char(sysdate,'Q') from dual ;"
set feed off head off
select 'DAY',to_char(sysdate,'DAY') from dual ;
select 'DAy',to_char(sysdate,'DAy') from dual ;
select 'DaY',to_char(sysdate,'DaY') from dual ;
select 'Day',to_char(sysdate,'Day') from dual ;
select 'dAY',to_char(sysdate,'dAY') from dual ;
select 'dAy',to_char(sysdate,'dAy') from dual ;
select 'daY',to_char(sysdate,'daY') from dual ;
select 'day',to_char(sysdate,'day') from dual ;

$ (echo set feed off head off ; echo -e {D,d}{A,a}{Y,y}"\n" | xargs -IQ echo "select 'Q' str ,to_char(sysdate,'Q') to_c from dual ;")| sqlplus -s -l / as sysdba | sed '/^$/d'
DAY MONDAY
DAy MONDAY
DaY Monday
Day Monday
dAY monday
dAy monday
daY monday
day monday
--//自己可以总结其中的差别:
--//1.格式前面2个字符大写的,输出全部大写。
--//2.格式第1个字符大写的,第2个小写的,输出第1个字符大写,其他小写。
--//3.格式第1个字符小写的,输出全部小写。
--//这些大概属于英语的习惯用法。

3.画外:
--//之所以提及这些问题,最近正好在优化一个项目,我发现写代码看谓词出现类型如下情况:
TO_CHAR (SCHEDULED_DATE_TIME, 'yyyyMMdd') = TO_CHAR (SYSDATE, 'yyyyMMdd')

OR (START_DATE_TIME >= :startTime AND START_DATE_TIME <= :endTime)
--//视乎是对方的一种编程风格,T大写视乎很容易看出前面start,end是否写错。
--//前面的MM例子也是这样,也许这样容易看清前面的y有4个。

> @ sql_id a5a47dnwfd100
-- SQL_ID = a5a47dnwfd100 come from shared pool
SELECT d.label as dept,substr(t.RECORDDATE,0,10) as 日期,count (*) AS 人数
 FROM TEMPERATURE t  left join s_departments d on d.CODE=t.dept
 where to_date(t.RECORDDATE,'yyyy-MM-dd hh24:mi:ss')+7 >sysdate and value >=37.3
 GROUP by d.label,substr(t.RECORDDATE,0,10)
 order by substr(t.RECORDDATE,0,10) desc;

--//我不知道为什么,大部分代码出现的格式中间的MM都是选择大写,感觉很怪异,当然也许是编写者的一个风格。
--//不过关于谓词使用函数,这些已经讲了许多次,还是有人这样写,当然建立函数索引问题就可以解决(最后1个不行),看着这样开发
--//人员不不知道是同情还是鄙视,如果没人指出,写一辈子代码还是这样,那真是一种悲哀!!

标签:sysdate,--,echo,char,dual,格式,txt,20241222,select
From: https://www.cnblogs.com/lfree/p/18625052

相关文章

  • geoserver 上传sld文件后,格式变为ANSI,导致的一系列问题
    windows平台下,以geoserver-2.21.5默认样式dem为例,在修改其中的某个值为中文后,出现报错:UTF-8序列的字节无效先不管,点击保存后出现中文字体字符编码错误问题。到data_dir/styles找到对应的文件,发现sld文件变为ANSI格式(原是utf-8),另存为UTF-8格式后,重新查看样式发现编辑框中显示......
  • 北理:LLM格式遵循的强化学习REFF
    ......
  • YOLO目标检测—XML标签文件与TXT标签文件相互转换
    XML标签文件转换为TXT标签文件importosimportxml.etree.ElementTreeasET#类别编号和名称的映射class_mapping={#替换为自己的类别编号和名称映射'person':'0','car':'1','bike':'2'}#更新后的源文件夹和目标文件夹路径sou......
  • 格式上 期望的效果
      importpandasaspd#读取原始数据df=pd.read_excel('D:\\work\\2\\配料原始表.xlsx',sheet_name='Sheet1')#按品类分组并处理数据grouped=df.groupby('品类名称')result_dfs=[]forcategory,groupingrouped:#筛选涨出数据并整理格式gai......
  • black:代码格式化的一键美容师
    大家好呀!今天我要给大家介绍一个超级实用的Python代码格式化工具——black。你是不是经常为代码格式不统一而烦恼?缩进忽大忽小,换行时机把握不准,团队成员各自风格迥异...别担心,有了black,这些问题都能一键解决!它就像是代码的美容师,让你的Python代码既规范又好看。black是什么?......
  • 本题要求编写程序,计算序列 1+2/3+3/5+4/7+5/9+6/11+... 的前N项之和。输入格式:在一行
    #include<stdio.h>intmain(){  intn;  scanf("%d",&n);  doublesum=0;  for(inti=1;i<=n;i++){    sum+=(double)i/(2*i-1);  }  printf("%.2f\n",sum);  return0;}注意sum要强制转换类型......
  • 游泳溺水识别数据集,对9984张原始图片进行YOLO,COCO JSON, VOC XML 格式的标注,平均识别
    游泳溺水识别数据集:对9984张原始图片进行YOLO,COCOJSON,VOCXML格式的标注,平均识别率在91.7%以上,可识别泳池或者水库中是否有人溺水。 数据集分割训练组98%        9818图片有效集%        0图片测试集2%        166图片......
  • 如何在易优CMS中使用 MyDate 函数格式化日期?
    在易优CMS中,MyDate 函数用于将时间戳格式化为指定的日期格式。这对于显示文章的发布日期、更新日期等非常有用。以下是 MyDate 函数的基本用法和一些示例:基本用法php {$eyou.field.update_time|MyDate='日期格式',###}update_time 是包含时间戳的字段。'日期格式'......
  • 支持彩色字体有哪些格式?
    支持彩色字体的格式主要有以下几种,它们在前端开发中有着广泛的应用:SBIX:这是由Apple主导的位图字体标准,主要在macOS和iOS系统上使用。SBIX即标准位图图像表,其中包含了PNG、JPEG或TIFF的图片信息,对其的支持集成在了macOS和iOS中。这种格式特别适合于需要高分辨率和丰富色彩表现的......
  • 39.在 Vue3 中使用 OpenLayers 导出 GeoJSON 文件及详解 GEOJSON 格式
    一、引言在Web地图开发领域,Vue3作为一款流行的前端框架,结合强大的OpenLayers地图库,能够实现丰富多样的地图功能。其中,将地图数据以GeoJSON格式导出是一项常见且实用的需求,本文将深入探讨如何在Vue3环境下借助OpenLayers达成这一目标,并详细剖析GeoJSON格式文件。......