初学pgSQL,请教如何替换字段是字符型常量吗中的指定字符

一、逻辑操作符:
常用的逻辑操作符有:AND、OR和NOT。其语义与其它编程语言中的逻辑操作符完全相同。二、比较操作符:
下面是PostgreSQL中提供的比较操作符列表:
小于或等于
大于或等于
比较操作符可以用于所有可以比较的数据类型。所有比较操作符都是双目操作符,且返回boolean类型。除了比较操作符以外,我们还可以使用BETWEEN语句,如:
a BETWEEN x AND y 等效于 a &= x AND a &= y
a NOT BETWEEN x AND y 等效于 a & x OR a & y三、 数学函数和操作符:
下面是PostgreSQL中提供的数学操作符列表:
按位操作符只能用于整数类型,而其它的操作符可以用于全部数值数据类型。按位操作符还可以用于位串类型bit和bit varying,
下面是PostgreSQL中提供的数学函数列表,需要说明的是,这些函数中有许多都存在多种形式,区别只是参数类型不同。除非特别指明,任何特定形式的函数都返回和它的参数相同的数据类型。
abs(-17.4)
cbrt(double)
cbrt(27.0)
ceil(double/numeric)
不小于参数的最小的整数
ceil(-42.8)
degrees(double)
把弧度转为角度
degrees(0.5)
exp(double/numeric)
floor(double/numeric)
不大于参数的最大整数
floor(-42.8)
ln(double/numeric)
log(double/numeric)
10为底的对数
log(100.0)
log(b numeric,x numeric)
numeric指定底数的对数
log(2.0, 64.0)
power(a double, b double)
求a的b次幂
power(9.0, 3.0)
power(a numeric, b numeric)
求a的b次幂
power(9.0, 3.0)
radians(double)
把角度转为弧度
radians(45.0)
0.0到1.0之间的随机数值
round(double/numeric)
圆整为最接近的整数
round(42.4)
round(v numeric, s int)
圆整为s位小数数字
round(42.438,2)
sign(double/numeric)
参数的符号(-1,0,+1)
sign(-8.4)
sqrt(double/numeric)
trunc(double/numeric)
截断(向零靠近)
trunc(42.8)
trunc(v numeric, s int)
截断为s小数位置的数字
trunc(42.438,2)
三角函数列表:
atan2(x, y)
正切 y/x 的反函数
四、字符串函数和操作符:
下面是PostgreSQL中提供的字符串操作符列表:
string || string
'Post' || 'greSQL'
PostgreSQL
bit_length(string)
字串里二进制位的个数
bit_length('jose')
char_length(string)
字串中的字符个数
char_length('jose')
convert(string using conversion_name)
使用指定的转换名字改变编码。
convert('PostgreSQL' using iso_8859_1_to_utf8)
'PostgreSQL'
lower(string)
把字串转化为小写
lower('TOM')
octet_length(string)
字串中的字节数
octet_length('jose')
overlay(string placing string from int [for int])
替换子字串
overlay('Txxxxas' placing 'hom' from 2 for 4)
position(substring in string)
指定的子字串的位置
position('om' in 'Thomas')
substring(string [from int] [for int])
抽取子字串
substring('Thomas' from 2 for 3)
substring(string from pattern)
抽取匹配 POSIX 正则表达式的子字串
substring('Thomas' from '...$')
substring(string from pattern for escape)
抽取匹配SQL正则表达式的子字串
substring('Thomas' from '%#"o_a#"_' for '#')
trim([leading | trailing | both] [characters] from string)
从字串string的开头/结尾/两边/ 删除只包含characters(缺省是一个空白)的最长的字串
trim(both 'x' from 'xTomxx')
upper(string)
把字串转化为大写。
upper('tom')
ascii(text)
参数第一个字符的ASCII码
ascii('x')
btrim(string text [, characters text])
从string开头和结尾删除只包含在characters里(缺省是空白)的字符的最长字串
btrim('xyxtrimyyx','xy')
给出ASCII码的字符
convert(string text, [src_encoding name,] dest_encoding name)
把字串转换为dest_encoding
convert( 'text_in_utf8', 'UTF8', 'LATIN1')
以ISO 8859-1编码表示的text_in_utf8
initcap(text)
把每个单词的第一个子母转为大写,其它的保留小写。单词是一系列字母数字组成的字符,用非字母数字分隔。
initcap('hi thomas')
length(string text)
string中字符的数目
length('jose')
lpad(string text, length int [, fill text])
通过填充字符fill(缺省时为空白),把string填充为长度length。 如果string已经比length长则将其截断(在右边)。
lpad('hi', 5, 'xy')
ltrim(string text [, characters text])
从字串string的开头删除只包含characters(缺省是一个空白)的最长的字串。
ltrim('zzzytrim','xyz')
md5(string text)
计算给出string的MD5散列,以十六进制返回结果。
md5('abc')
repeat(string text, number int)
重复string number次。
repeat('Pg', 4)
replace(string text, from text, to text)
把字串string里出现地所有子字串from替换成子字串to。
replace('abcdefabcdef', 'cd', 'XX')
abXXefabXXef
rpad(string text, length int [, fill text])
通过填充字符fill(缺省时为空白),把string填充为长度length。如果string已经比length长则将其截断。
rpad('hi', 5, 'xy')
rtrim(string text [, character text])
从字串string的结尾删除只包含character(缺省是个空白)的最长的字
rtrim('trimxxxx','x')
split_part(string text, delimiter text, field int)
根据delimiter分隔string返回生成的第field个子字串(1 Base)。
split_part('abc~@~def~@~ghi', '~@~', 2)
strpos(string, substring)
声明的子字串的位置。
strpos('high','ig')
substr(string, from [, count])
抽取子字串。
substr('alphabet', 3, 2)
to_ascii(text [, encoding])
把text从其它编码转换为ASCII。
to_ascii('Karel')
to_hex(number int/bigint)
把number转换成其对应地十六进制表现形式。
to_hex(4775807)
7fffffffffffffff
translate(string text, from text, to text)
把在string中包含的任何匹配from中的字符的字符转化为对应的在to中的字符。
translate('12345', '14', 'ax')
五、位串函数和操作符:
对于类型bit和bit varying,除了常用的比较操作符之外,还可以使用以下列表中由PostgreSQL提供的位串函数和操作符,其中&、|和#的位串操作数必须等长。在移位的时候,保留原始的位串的的长度。
B'10001' || B'011'
B'10001' & B'01101'
B'10001' | B'01101'
B'10001' # B'01101'
~ B'10001'
B'10001' && 3
B'10001' && 2
除了以上列表中提及的操作符之外,位串还可以使用字符串函数:length, bit_length, octet_length, position, substring。此外,我们还可以在整数和bit之间来回转换,如:
MyTest=# SELECT 44::bit(10);
------------
MyTest=# SELECT 44::bit(3);
MyTest=# SELECT cast(-44 as bit(12));
--------------
MyTest=# SELECT '1110'::bit(4)::
注意:如果只是转换为"bit",意思是转换成bit(1),因此只会转换成整数的最低位。
该博客中提供的所有信息均源自PostgreSQL官方文档,编写该篇博客的主要目的是便于今后的查阅,特此声明。
postgresql interval 字段拼接
Postgresql 条件表达式
PostgreSQL字符串处理函数
PostgreSQL如何实现MySQL中的group_concat聚集函数(简单的拼接功能)
没有更多推荐了,温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!&&|&&
LOFTER精选
网易考拉推荐
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
阅读(11574)|
用微信&&“扫一扫”
将文章分享到朋友圈。
用易信&&“扫一扫”
将文章分享到朋友圈。
历史上的今天
loftPermalink:'',
id:'fks_',
blogTitle:'postgreSQL格式化时间的函数详解',
blogAbstract:' \r\n数据类型格式化函数:&& &PostgreSQL格式化函数提供一套有效的工具用于把各种数据类型(日期/时间、integer、floating point和numeric)转换成格式化的字符串以及反过来从格式化的字符串转换成指定的数据类型。下面列出了这些函数,它们都遵循一个公共的调用习惯:第一个参数是待格式化的值,而第二个是定义输出或输出格式的模板。 \r\n\r\n\r\n\r\n函数\r\n返回类型\r\n描述\r\n例子\r\n\r\nto_char(timestamp, text)\r\ntext\r\n把时间戳转换成字串\r\nto_char(current_timestamp, \'HH12:MI:SS\')',
blogTag:'postgresql,时间的函数详解',
blogUrl:'blog/static/',
isPublished:1,
istop:false,
modifyTime:3,
publishTime:7,
permalink:'blog/static/',
commentCount:0,
mainCommentCount:0,
recommendCount:0,
bsrk:-100,
publisherId:0,
recomBlogHome:false,
currentRecomBlog:false,
attachmentsFileIds:[],
groupInfo:{},
friendstatus:'none',
followstatus:'unFollow',
pubSucc:'',
visitorProvince:'',
visitorCity:'',
visitorNewUser:false,
postAddInfo:{},
mset:'000',
remindgoodnightblog:false,
isBlackVisitor:false,
isShowYodaoAd:false,
hostIntro:'',
hmcon:'1',
selfRecomBlogCount:'0',
lofter_single:''
{list a as x}
{if x.moveFrom=='wap'}
{elseif x.moveFrom=='iphone'}
{elseif x.moveFrom=='android'}
{elseif x.moveFrom=='mobile'}
${a.selfIntro|escape}{if great260}${suplement}{/if}
{list a as x}
推荐过这篇日志的人:
{list a as x}
{if !!b&&b.length>0}
他们还推荐了:
{list b as y}
转载记录:
{list d as x}
{list a as x}
{list a as x}
{list a as x}
{list a as x}
{if x_index>4}{break}{/if}
${fn2(x.publishTime,'yyyy-MM-dd HH:mm:ss')}
{list a as x}
{if !!(blogDetail.preBlogPermalink)}
{if !!(blogDetail.nextBlogPermalink)}
{list a as x}
{if defined('newslist')&&newslist.length>0}
{list newslist as x}
{if x_index>7}{break}{/if}
{list a as x}
{var first_option =}
{list x.voteDetailList as voteToOption}
{if voteToOption==1}
{if first_option==false},{/if}&&“${b[voteToOption_index]}”&&
{if (x.role!="-1") },“我是${c[x.role]}”&&{/if}
&&&&&&&&${fn1(x.voteTime)}
{if x.userName==''}{/if}
网易公司版权所有&&
{list x.l as y}
{if defined('wl')}
{list wl as x}{/list}关于postgresql一个截取字符串的问题
[问题点数:100分,结帖人iihero]
本版专家分:0
结帖率 100%
CSDN今日推荐
本版专家分:18572
本版专家分:105434
2017年6月 其他数据库开发大版内专家分月排行榜第一2017年2月 其他数据库开发大版内专家分月排行榜第一2013年11月 其他数据库开发大版内专家分月排行榜第一2013年9月 其他数据库开发大版内专家分月排行榜第一2013年2月 其他数据库开发大版内专家分月排行榜第一
2018年2月 其他数据库开发大版内专家分月排行榜第二2018年1月 其他数据库开发大版内专家分月排行榜第二2017年12月 其他数据库开发大版内专家分月排行榜第二2017年11月 其他数据库开发大版内专家分月排行榜第二2017年1月 其他数据库开发大版内专家分月排行榜第二2014年8月 其他数据库开发大版内专家分月排行榜第二2014年2月 其他数据库开发大版内专家分月排行榜第二2014年1月 其他数据库开发大版内专家分月排行榜第二2013年12月 其他数据库开发大版内专家分月排行榜第二2013年10月 其他数据库开发大版内专家分月排行榜第二2013年8月 其他数据库开发大版内专家分月排行榜第二2013年5月 其他数据库开发大版内专家分月排行榜第二2013年1月 其他数据库开发大版内专家分月排行榜第二2012年8月 其他数据库开发大版内专家分月排行榜第二2012年5月 其他数据库开发大版内专家分月排行榜第二2012年4月 其他数据库开发大版内专家分月排行榜第二2012年1月 其他数据库开发大版内专家分月排行榜第二
2017年9月 其他数据库开发大版内专家分月排行榜第三2017年7月 其他数据库开发大版内专家分月排行榜第三2017年5月 其他数据库开发大版内专家分月排行榜第三2017年3月 其他数据库开发大版内专家分月排行榜第三2016年12月 其他数据库开发大版内专家分月排行榜第三2014年11月 其他数据库开发大版内专家分月排行榜第三2014年7月 其他数据库开发大版内专家分月排行榜第三2014年6月 其他数据库开发大版内专家分月排行榜第三2014年5月 其他数据库开发大版内专家分月排行榜第三2013年7月 其他数据库开发大版内专家分月排行榜第三2013年3月 其他数据库开发大版内专家分月排行榜第三2012年7月 其他数据库开发大版内专家分月排行榜第三2012年6月 其他数据库开发大版内专家分月排行榜第三2011年12月 其他数据库开发大版内专家分月排行榜第三
本版专家分:0
本版专家分:0
本版专家分:470998
2012年 荣获名人称号
2010年 总版技术专家分年内排行榜第二
2009年 总版技术专家分年内排行榜第三
2013年 总版技术专家分年内排行榜第十2011年 总版技术专家分年内排行榜第七
本版专家分:53518
2012年11月 其他数据库开发大版内专家分月排行榜第一
2010年6月 其他数据库开发大版内专家分月排行榜第二2010年6月 Oracle大版内专家分月排行榜第二2010年5月 其他数据库开发大版内专家分月排行榜第二
2011年1月 其他数据库开发大版内专家分月排行榜第三2010年12月 其他数据库开发大版内专家分月排行榜第三
本版专家分:53518
2012年11月 其他数据库开发大版内专家分月排行榜第一
2010年6月 其他数据库开发大版内专家分月排行榜第二2010年6月 Oracle大版内专家分月排行榜第二2010年5月 其他数据库开发大版内专家分月排行榜第二
2011年1月 其他数据库开发大版内专家分月排行榜第三2010年12月 其他数据库开发大版内专家分月排行榜第三
本版专家分:175059
2008年12月 其他数据库开发大版内专家分月排行榜第一2008年9月 其他数据库开发大版内专家分月排行榜第一
2014年7月 其他数据库开发大版内专家分月排行榜第二2014年3月 其他数据库开发大版内专家分月排行榜第二2013年7月 其他数据库开发大版内专家分月排行榜第二2013年4月 其他数据库开发大版内专家分月排行榜第二2012年3月 其他数据库开发大版内专家分月排行榜第二2011年8月 其他数据库开发大版内专家分月排行榜第二2011年7月 其他数据库开发大版内专家分月排行榜第二2009年11月 其他数据库开发大版内专家分月排行榜第二2009年7月 其他数据库开发大版内专家分月排行榜第二2009年6月 其他数据库开发大版内专家分月排行榜第二2009年5月 其他数据库开发大版内专家分月排行榜第二2009年4月 其他数据库开发大版内专家分月排行榜第二2009年3月 其他数据库开发大版内专家分月排行榜第二2009年1月 其他数据库开发大版内专家分月排行榜第二2008年10月 其他数据库开发大版内专家分月排行榜第二2008年8月 其他数据库开发大版内专家分月排行榜第二2003年9月 Delphi大版内专家分月排行榜第二
2014年4月 其他数据库开发大版内专家分月排行榜第三2013年10月 其他数据库开发大版内专家分月排行榜第三2013年9月 其他数据库开发大版内专家分月排行榜第三2013年6月 其他数据库开发大版内专家分月排行榜第三2012年12月 其他数据库开发大版内专家分月排行榜第三2012年11月 其他数据库开发大版内专家分月排行榜第三2012年10月 其他数据库开发大版内专家分月排行榜第三2012年9月 其他数据库开发大版内专家分月排行榜第三2012年1月 其他数据库开发大版内专家分月排行榜第三2011年11月 其他数据库开发大版内专家分月排行榜第三2011年9月 其他数据库开发大版内专家分月排行榜第三2011年6月 其他数据库开发大版内专家分月排行榜第三2011年5月 其他数据库开发大版内专家分月排行榜第三2011年4月 其他数据库开发大版内专家分月排行榜第三2011年3月 其他数据库开发大版内专家分月排行榜第三2010年11月 其他数据库开发大版内专家分月排行榜第三2010年4月 其他数据库开发大版内专家分月排行榜第三2010年1月 其他数据库开发大版内专家分月排行榜第三2009年12月 其他数据库开发大版内专家分月排行榜第三2009年2月 其他数据库开发大版内专家分月排行榜第三2008年7月 其他数据库开发大版内专家分月排行榜第三2008年6月 其他数据库开发大版内专家分月排行榜第三2008年1月 其他数据库开发大版内专家分月排行榜第三2007年12月 其他数据库开发大版内专家分月排行榜第三2003年12月 Delphi大版内专家分月排行榜第三2003年10月 Delphi大版内专家分月排行榜第三
本版专家分:175059
2008年12月 其他数据库开发大版内专家分月排行榜第一2008年9月 其他数据库开发大版内专家分月排行榜第一
2014年7月 其他数据库开发大版内专家分月排行榜第二2014年3月 其他数据库开发大版内专家分月排行榜第二2013年7月 其他数据库开发大版内专家分月排行榜第二2013年4月 其他数据库开发大版内专家分月排行榜第二2012年3月 其他数据库开发大版内专家分月排行榜第二2011年8月 其他数据库开发大版内专家分月排行榜第二2011年7月 其他数据库开发大版内专家分月排行榜第二2009年11月 其他数据库开发大版内专家分月排行榜第二2009年7月 其他数据库开发大版内专家分月排行榜第二2009年6月 其他数据库开发大版内专家分月排行榜第二2009年5月 其他数据库开发大版内专家分月排行榜第二2009年4月 其他数据库开发大版内专家分月排行榜第二2009年3月 其他数据库开发大版内专家分月排行榜第二2009年1月 其他数据库开发大版内专家分月排行榜第二2008年10月 其他数据库开发大版内专家分月排行榜第二2008年8月 其他数据库开发大版内专家分月排行榜第二2003年9月 Delphi大版内专家分月排行榜第二
2014年4月 其他数据库开发大版内专家分月排行榜第三2013年10月 其他数据库开发大版内专家分月排行榜第三2013年9月 其他数据库开发大版内专家分月排行榜第三2013年6月 其他数据库开发大版内专家分月排行榜第三2012年12月 其他数据库开发大版内专家分月排行榜第三2012年11月 其他数据库开发大版内专家分月排行榜第三2012年10月 其他数据库开发大版内专家分月排行榜第三2012年9月 其他数据库开发大版内专家分月排行榜第三2012年1月 其他数据库开发大版内专家分月排行榜第三2011年11月 其他数据库开发大版内专家分月排行榜第三2011年9月 其他数据库开发大版内专家分月排行榜第三2011年6月 其他数据库开发大版内专家分月排行榜第三2011年5月 其他数据库开发大版内专家分月排行榜第三2011年4月 其他数据库开发大版内专家分月排行榜第三2011年3月 其他数据库开发大版内专家分月排行榜第三2010年11月 其他数据库开发大版内专家分月排行榜第三2010年4月 其他数据库开发大版内专家分月排行榜第三2010年1月 其他数据库开发大版内专家分月排行榜第三2009年12月 其他数据库开发大版内专家分月排行榜第三2009年2月 其他数据库开发大版内专家分月排行榜第三2008年7月 其他数据库开发大版内专家分月排行榜第三2008年6月 其他数据库开发大版内专家分月排行榜第三2008年1月 其他数据库开发大版内专家分月排行榜第三2007年12月 其他数据库开发大版内专家分月排行榜第三2003年12月 Delphi大版内专家分月排行榜第三2003年10月 Delphi大版内专家分月排行榜第三
匿名用户不能发表回复!
其他相关推荐postgresql 中某个字符出现的次数_百度知道
postgresql 中某个字符出现的次数
请问在postgresql中如何获得一个字符在字符串中出现的次数比如a.b.c.d.e中“.”出现的次数?...
postgresql
中如何获得一个字符在字符串中出现的次数
比如a.b.c.d.e中 “.”出现的次数?
答题抽奖
首次认真答题后
即可获得3次抽奖机会,100%中奖。
Andy_Sun321
Andy_Sun321
采纳数:633
获赞数:903
可以用函数实现, 如下:create&or&replace&function&get_txt_count(p_source_txt&character&varying,&p_count_txt&character&varying)returns&integeras&$get_txt_count$declarev_idx&integer&:=&1;v_cnt&integer&:=&0;v_source_txt&character&varying(2000)&:=&p_source_v_len&integer&:=&length(p_count_txt);begin&&&while&v_idx&&&0&loop&&&&&&&v_idx&:=&position(p_count_txt&in&v_source_txt);&&&&&&&if&v_idx&&&0&then&&&&&&&&&&&v_cnt&:=&v_cnt&+&1;&&&&&&&&&&&v_source_txt&:=&right(v_source_txt,&length(v_source_txt)&-&v_idx&-&v_len&+&1);&&&&&&&end&&&&end&&&&return&v_$get_txt_count$&language&调用:select&get_txt_count('a.b.c.d.e',&'.');
为你推荐:
其他类似问题
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。pl/pgSQL 字符串比较的问题
[问题点数:40分]
本版专家分:0
结帖率 50%
CSDN今日推荐
本版专家分:13151
匿名用户不能发表回复!
其他相关推荐

我要回帖

更多关于 姓名字段的第一个字符 的文章

 

随机推荐