postgresql引号的简单介绍

Postgresql中关于字符串引号的提问

字符串内有单引号,则变成两个单引号就可以了。

创新互联专注为客户提供全方位的互联网综合服务,包含不限于网站设计制作、成都网站设计、新密网络推广、小程序定制开发、新密网络营销、新密企业策划、新密品牌公关、搜索引擎seo、人物专访、企业宣传片、企业代运营等,从售前售中售后,我们都将竭诚为您服务,您的肯定,是我们最大的嘉奖;创新互联为所有大学生创业者提供新密建站搭建服务,24小时服务热线:18982081108,官方网址:www.cdcxhl.com

另外,cosstab的调用形式后面还差列的定义,需要跟as (column1 column_type_1, column2 column_type_2, ...)

postgresql copy from 文件,文件字段包含双引号怎么处理?

可以使用类似这样的命令进行导入:

1

2

3

4

5

6

7

8

9

copy

target_table_name

(field_1,

field_2,

field_3)

from

'C:\sourceData.txt'

with

(

FORMAT

csv,

DELIMITER

',',

escape

'\',

header

true,

quote

'"',

encoding

'UTF8')

这里,

with后面括号中跟的是导入参数设置:

format指定导入的文件格式为csv格式

delimiter指定了字段之间的分隔符号位逗号

escape指定了在引号中的转义字符为反斜杠,这样即使在引号字串中存在引号本身,也可以用该字符进行转义,变为一般的引号字符,而不是字段终结

header

true:指定文件中存在表头。如果没有的话,则设置为false

quote指定了以双引号作为字符串字段的引号,这样它会将双引号内的内容作为一个字段值来进行处理

encoding指定了文件的编码格式为utf8,

如果是别的格式则修改为适当的编码格式.

怎样设置PostgreSQL中字段和表名对大小写敏感

由于 PostgreSQL 是大小写敏感的,并默认对SQL语句中的数据库对象名称转换为小写,因此如果你在创建数据库对象时指定了大小写混和的对象名称,那么在通过SQL语句访问 这些对象时,必须使用双引号(")将数据库对象括起来,以提示 PostgreSQL 不用帮你转换对象名为小写,否则将激发“xxxxx对象不存在”的异常,譬如您的数据库中有名为 TUser 的表,您在 PostgreSQL 自带的图形化查询工具中必须使用类似这样的查询语句才能正确执行:SELECT * FROM "TUser",当然它对 SQL 标准中的保留字和关键字是不区分大小写的,所以写成 select * From "TUser" 这样也是完全可以的。

另外,PostgreSQL 对数据也是大小写敏感的,这点与 SQLServer 不同(SQLServer 默认是不敏感的),譬如在 TUser 表中有字段 Name,其中有一行 Name 字段值为“Tony Tang”的记录,如果直接使用

SELECT * FROM "TUser" WHERE "Name" LIKE '%tony%';

是查询不到这条记录的,不过你可以这么写:

SELECT * FROM "TUser" WHERE UPPER("Name") LIKE '%TONY%';

呵呵,是不是觉得这样不太好看,而且担心性能会受影响?幸好 PostgreSQL 提供了关键字 ILIKE 来帮我们解决这个问题,这真是个非常有趣的关键字(I like),对于第一种写法只需要将 LIKE 替换成 ILIKE 就可以了。

最后,建议在编写 SQL 脚本的时候,使用单引号做字符串常量的标识,虽然在 MS SQLServer 中双引号和单引号均可作为字符串常量的标识符,但是在 PostgreSQL 中对此就有严格的功能区分(不能用双引号作为字符串常量的标识符),为了保险起见,建议对所有的数据库对象名均使用双引号(")将其显式约定,以保证大小 写的严格匹配。


网站栏目:postgresql引号的简单介绍
文章URL:http://azwzsj.com/article/dscohcs.html