GVKun编程网logo

格式化SQL代码语句 format t-sql

16

在本文中,您将会了解到关于格式化SQL代码语句formatt-sql的新资讯,并给出一些关于c#–Resharper重新格式化String.Format()参数、DataGrip格式化SQL的实现方法

在本文中,您将会了解到关于格式化SQL代码语句 format t-sql的新资讯,并给出一些关于c# – Resharper重新格式化String.Format()参数、DataGrip 格式化SQL的实现方法(自定义Sql格式化)、Delphi格式化函数Format、FormatDateTime和FormatFloat、Delphi格式化函数Format、FormatDateTime和FormatFloat详解的实用技巧。

本文目录一览:

格式化SQL代码语句 format t-sql

格式化SQL代码语句 format t-sql

 

 

http://www.red-gate.com/products/SQL_Refactor/index.htm

http://orafaq.com/utilities/sqlformatter.htm

http://mikeschinkel.com/blog/anyoneknowofatsqlcodeformatter/

http://software.topcoder.com/catalog/c_component.jsp?comp=10029208&ver=1

http://www.red-gate.com/

http://www.ubitsoft.com/products/sqlenlight/sqlenlight.php

http://www.dpriver.com/pp/sqlformat.htm

http://www.cnblogs.com/jintan/archive/2008/03/27/1125853.html

http://www.cnblogs.com/madgoat/archive/2007/06/21/792297.html

http://download.csdn.net/source/679330

http://blog.csdn.net/Danny_Su/archive/2008/10/26/3152217.aspx

sql Server 插件工具: sql Enlight, sqlAssist, sql Refactor, sql Prompt

c# – Resharper重新格式化String.Format()参数

c# – Resharper重新格式化String.Format()参数

我经常发现自己写的东西像:
String.Format("{1}: {0}",reason,message);

或类似的东西,但有更多的字符串占位符.

Resharper中是否有自动重构来更改占位符和参数的顺序?如果我试图手动更改顺序,我倾向于搞乱映射.

显然,上面的例子是微不足道的.我在现实中所做的经常是这样写:

String.Format("{0}.{2} = {1}.{3} AND {0}.{4} = {1}.{5} AND {6}.{7} = {1}.{8}",table1Alias,table2Alias,col1A,col2A,col1B,col2B,table3Alias,col3C,col2C);

并且想到如果我能将table3Alias移到其他别名旁边的前面那将会很棒.

(Resharper 7.1.3)

解决方法

不,没有这样的功能.

DataGrip 格式化SQL的实现方法(自定义Sql格式化)

DataGrip 格式化SQL的实现方法(自定义Sql格式化)

工欲善其事,必先利其器。好的工具可以使使用者心情舒畅,效率加倍。DataGrip 是 JetBrains 发布的多引擎数据库环境,支持 MySQL 和 PostgreSQL,Microsoft SQL Server 和 Oracle,Sybase,DB2,SQLite,还有 HyperSQL,Apache Derby 和 H2。

DataGrip与IntelliJ IDEA同属JetBrains家族,界面风格熟悉,快捷键也大致通用,相信大家很快就能适应。DataGrip格式化Sql快捷键:Ctrl + Alt + L

因对IDEA的钟情,对JetBrains出品有种莫名的好感。于是下载了最新版DateGrip,丢弃Navicat15投入DataGrip怀抱。怀着兴奋又期待的心情,配好数据源,写几段SQL,Ctrl+Alt+L,突然不习惯了,查询首字段和select同行、table和FROM关键字也是同行、LEFT JOIN……、心情有点糟了。于是想着如果能自定义sql风格岂不是很好,百度了一圈,发现全都是简单的介绍格式化快捷键是Ctrl+Alt+L,再无其他,很是失望,难道是不可更改?不甘心的我于是开始在Setting中耐心查找,功夫不负有心人(同IDEA,IDEA中也有对code格式的调整)。

终于找到了如何自定义Sql格式化风格,博主使用的是2020.1版本,Settings > Editor > Code Style > SQL > General

General设置的全局sql格式,DB2、H2、HSQLDB、MySQL、Oracle……都可以单独设置格式,也可以“继承全局SQL风格”(勾选Inherit general SQL style):

可设置禁用格式化,快捷使用已有格式,预览SQL,设置INSERT、UPDATE、SELECT语句,FROM、WHERE、GROUP BY、ODERY BY格式,分类很清晰,每有变更在预览窗口都会自动定位到格式变化的地方并闪烁提醒,很智能。好了,可以根据自己习惯喜好自定义SQL格式了,甚是美哉!上手DataGrip一周,真香。尘封Navicat……

IDEA中的 Code Style

DataGrip代码提示的使用

1、变量重命名

鼠标点击需要重命名的变量,按下Shift+F6快捷键,弹出重命名对话框,输入新的名称


 2、自动检测无法解析的对象

如果表名、字段名不存在,datagrip会自动提示,此时对着有问题的表名或字段名,按下Alt+Enter,会自动提示是否创建表或添加字段


 3、权限定字段名

对于查询使用表别名的,而字段中没有使用别名前缀的,datagrip能自动添加前缀,鼠标停留在需要添加别名前缀的字段上,使用Alt+Enter快捷键


 4、*通配符自动展开

查询的时候我们会使用select *查询所有列,这是不好的习惯,datagrip能快速展开列,光标定位到*后面,按下Alt+Enter快捷键


 5、大写自动转换

sql使用大写形式是个好的习惯,如果使用了小写,可以将光标停留在需要转换的字段或表名上,使用Ctrl+shift+U快捷键自动转换

到此这篇关于DataGrip 格式化SQL的实现方法的文章就介绍到这了,更多相关DataGrip 格式化SQL内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!

您可能感兴趣的文章:
  • Mysql 日期格式化及复杂日期区间查询
  • IDEA 格式化SQL代码技巧分享

Delphi格式化函数Format、FormatDateTime和FormatFloat

Delphi格式化函数Format、FormatDateTime和FormatFloat

总结

以上是小编为你收集整理的Delphi格式化函数Format、FormatDateTime和FormatFloat全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Delphi格式化函数Format、FormatDateTime和FormatFloat详解

Delphi格式化函数Format、FormatDateTime和FormatFloat详解

1.Format 根据指定所需要的格式,格式化字符串。 原型: function Format(const Format: string const Args: array of const): string 例子:

var 
  s: string; 
begin 
  //指令类型 type 

  s := Format(''最大整数是: %d; 最小整数是: %d'',[MaxInt,Low(Integer)]); 
  //返回: 最大整数是: 2147483647; 最小整数是: -2147483648 
  { 提示: 格式指令必须以 % 开始, 不区分大小写, %d 代表一个整数; 第二个参数是一个变体数组 } 

  s := Format(''最大的无负号整数是: %u'',[High(Cardinal)]); 
  //返回: 最大的无负号整数是: 4294967295 
  { %u表示一个无负号整数 } 

  s := Format(''输入-2的结果是: %u'',[-2]); 
  //返回: 输入-2的结果是: 4294967294 
  { 如果对应 %u 的是个负数, 则返回: 无负号整数最大值 - 这个数的绝对值 + 1 } 

  s := Format(''%s! %s'',[''你好'',''我是万一'']); 
  //返回: 你好! 我是万一 
  { %s 表示字符串 } 

  s := Format(''%f'',[Pi]); 
  //返回: Pi的值是: 3.14 
  { %f 表示浮点数, 保留或凑够两位小数点 } 

  s := Format(''%g'',[01.2345000]); 
  //返回: 1.2345 
  { %g 表示浮点数, 会去掉多余的 0 } 

  s := Format(''%n'',[12345.6789]); 
  //返回: 12,345.68 
  { %n 表示浮点数, 整数部分使用千位分隔符, 保留两位小数点 } 

  s := Format(''%m'',[12345.6789]); 
  //返回: ¥12,345.68 
  { %m 表示浮点数, 加货币记号, 转换结果取决于系统的地域设置 } 

  s := Format(''%e'',[12345.6789]); 
  //返回: 1.23456789000000E+004 
  { %e 用科学计数法表示整数或浮点数 } 

  s := Format(''%p'',[@Self]); 
  //返回: 0012F5BC 
  { %p 表示指针地址, 用十六进制表示 } 

  s := Format(''%x'',[255]); 
  //返回: FF 
  { %x 用十六进制表示一个整数 } 

  //Index 

  s := Format(''%s%s'',['''','''']); 
  s := Format(''%0:s%1:s'',['''','''']); 
  //返回: 万一 
  { 上面两行的结果是一样的, 0: 对应数组中的第一个值; 1: 对应数组中的第二个值 } 

  s := Format(''%1:s%0:s'',['''','''']); 
  //返回: 一万 
  { 翻转了一下顺序 } 

  s := Format(''%1:s%0:s%0:s%1:s'',['''','''']); 
  //返回: 一万万一 
  { 反复使用 } 

  //Width 与对齐方式 

  s := Format(''%d,%8d,%d'',[1,2,3]); 
  //返回: 1,       2,3 
  { 给第二个值指定了8个字符的宽度, 缺少的用空格填充; 如果指定少了则无效 } 

  s := Format(''%d,%-8d,%d'',[1,2,3]); 
  //返回: 1,2       ,3 
  { - 表示左对齐, 默认是右对齐的; - 符号在 Width 前面、Index 后面 } 

  //指定精度 prec 

  s := Format(''%.9f'',[Pi]); 
  //返回: 3.141592654 
  { 指定小数点的位数, 取值范围1-9, 输入0也当1用 } 

  s := Format(''%.5d'',[12]); 
  //返回: 00012 
  { 这是给整数指定位数, 如果小了则无效 } 

  s := Format(''%.3s'',[''Format'']); 
  //返回: For 
  { 给字符串指定位数, 如果大了则无效 } 

  s := Format(''%.3e'',[123.456]); 
  //返回: 1.23E+002 
  { 给科学计数法指定位数 } 

  //指令顺序: 

  { "%" [index ":"] ["-"] [width] ["." prec] type } 

  ShowMessage(s); 
end;

2.FormatDateTime 格式化日期值 原型:

function FormatDateTime(const Format: string DateTime: TDateTime): string 例子:

var 
  s: string; 
begin 
  //FormatDateTime 的参数1是 String 格式指令, 参数2是 TDateTime 类型的时间 

  s := FormatDateTime(''c'', Now); {返回: 2007-12-18 23:56:05} 
  {指令 c 表示用短格式显示日期与时间} 

  s := FormatDateTime(''d'', Now); {返回: 19} 

  s := FormatDateTime(''d'', StrToDateTime(''2008-1-1'')); {返回: 1} 
  {d 表示日期} 

  s := FormatDateTime(''dd'', Now); {返回: 19} 

  s := FormatDateTime(''dd'', StrToDateTime(''2008-1-1'')); {返回: 01} 
  {dd 表示双位日期} 

  s := FormatDateTime(''ddd'', Now); {返回: 星期三} 

  s := FormatDateTime(''dddd'', Now); {返回: 星期三} 
  {ddd 与 dddd 表示星期; 可能对不同的语种会有区别} 

  s := FormatDateTime(''ddddd'', Now); {返回: 2007-12-19} 
  {ddddd 五个 d 表示短格式日期} 

  s := FormatDateTime(''dddddd'', Now); {返回: 2007年12月19日} 
  {dddddd 六个 d 表示长格式日期} 

  s := FormatDateTime(''e'', Now); {返回: 7} 
  {e 表示年, 1位} 

  s := FormatDateTime(''ee'', Now); {返回: 07} 
  {ee 表示年, 2位} 

  s := FormatDateTime(''eee'', Now); {返回: 2007} 

  s := FormatDateTime(''eeee'', Now); {返回: 2007} 
  {eee 与 eeee 返回4位数年} 

  s := FormatDateTime(''m'', Now); {返回: 12} 
  {m 表示月, 1位} 

  s := FormatDateTime(''mm'', StrToDateTime(''2008-1-1'')); {返回: 01} 
  {mm 表示月, 2位} 

  s := FormatDateTime(''mmm'', Now); {返回: 十二月} 

  s := FormatDateTime(''mmmm'', Now); {返回: 十二月} 
  {mmm 与 mmmm 表示长格式月} 

  s := FormatDateTime(''y'', Now); {返回: 07} 

  s := FormatDateTime(''yy'', Now); {返回: 07} 

  s := FormatDateTime(''yyy'', Now); {返回: 2007} 

  s := FormatDateTime(''yyyy'', Now); {返回: 2007} 
  {y yy yyy yyyy 表示年; 和 e 略有不同} 

  s := FormatDateTime(''t'', Now); {返回: 0:21} 

  s := FormatDateTime(''tt'', Now); {返回: 0:22:13} 
  {t tt 表示时间} 

  s := FormatDateTime(''ampm'', Now); {返回:  上午} 

  s := FormatDateTime(''tampm'', Now); {返回: 0:24 上午} 
  {ampm 表示上午、下午} 

  s := FormatDateTime(''h'', StrToDateTime(''2007-12-30 9:58:06'')); {返回: 9} 

  s := FormatDateTime(''hh'', StrToDateTime(''2007-12-30 9:58:06'')); {返回: 09} 
  {h hh 表示时} 

  s := FormatDateTime(''n'', StrToDateTime(''2007-12-30 9:58:06'')); {返回: 58} 

  s := FormatDateTime(''nn'', StrToDateTime(''2007-12-30 9:58:06'')); {返回: 58} 
  {n nn 表示分} 

  s := FormatDateTime(''s'', StrToDateTime(''2007-12-30 9:58:06'')); {返回: 6} 

  s := FormatDateTime(''ss'', StrToDateTime(''2007-12-30 9:58:06'')); {返回: 06} 
  {s ss 表示秒} 

  s := FormatDateTime(''z'', Now); {返回: 24} 

  s := FormatDateTime(''zz'', Now); {返回: 524} 

  s := FormatDateTime(''zzz'', Now); {返回: 524} 
  {z zz zzz 表示毫秒} 

  s := FormatDateTime(''yy/mm/dd'', Now); {返回: 07/12/19} 

  s := FormatDateTime(''yy/mm/dd'', Now); {返回: 07-12-19} 

  s := FormatDateTime(''yy-mm-dd'', Now); {返回: 07-12-19} 

  s := FormatDateTime(''yy*mm*dd'', Now); {返回: 07*12*19} 
  {使用分隔符, - 是默认的, / 是与 - 等效的, 假如我非要用 / 显示呢?} 

  s := FormatDateTime(''yy"/"mm"/"dd'', Now); {返回: 07/12/19} 

  s := FormatDateTime(''"当前时间是: "yyyy-m-d h:n:s:zz'', Now);  
  {返回: 当前时间是: 2007-12-19 0:47:16:576} 
  {混入的字符串要包含在双引号中} 

  ShowMessage(s); 
end;

3.FormatFloat 格式化浮点数 原型:

function FormatFloat(const Format: string Value: Extended): string 例子:

var 
  s: string; 
begin 
  //FormatFloat 的参数1是 String 格式指令, 参数2是实数类型 Extended 

  s := FormatFloat(''###.###'',12.3456); 
  //返回: 12.346 
  s := FormatFloat(''000.000'',12.3456); 
  //返回: 012.346 

  s := FormatFloat(''#.###'',12.3); 
  //返回: 12.3 
  s := FormatFloat(''0.000'',12.3); 
  //返回: 12.300 

  s := FormatFloat(''#,#.#'',1234567); 
  //返回: 1,234,567 
  s := FormatFloat(''0,0.0'',1234567); 
  //返回: 1,234,567.0 

  s := FormatFloat(''0.00E+0'',1234567); 
  //返回: 1.23E+6 
  s := FormatFloat(''0.00E+00'',1234567); 
  //返回: 1.23E+06 

  //在科学计数法中使用 # 好像不合适? 

  ShowMessage(s); 
end;

参看资料:

http://www.cnblogs.com/del/archive/2007/12/18/1005161.html 

http://www.cnblogs.com/del/archive/2007/12/19/1005205.html 

http://www.cnblogs.com/del/archive/2007/12/19/1005212.html 

http://www.cnblogs.com/sonicit/archive/2007/06/04/769882.html

今天的关于格式化SQL代码语句 format t-sql的分享已经结束,谢谢您的关注,如果想了解更多关于c# – Resharper重新格式化String.Format()参数、DataGrip 格式化SQL的实现方法(自定义Sql格式化)、Delphi格式化函数Format、FormatDateTime和FormatFloat、Delphi格式化函数Format、FormatDateTime和FormatFloat详解的相关知识,请在本站进行查询。

本文标签: