PB 常用函数与封装函数列表(五、数据类型转换)
五、数据类型转换
5.1 String 函数
按照指定格式将数据转换成字符串
语法
String(data,{format})
参数
data–> 指定需要转换的数据类型可以是Date、DateTime、数值类型、Time format–> 可选项,指定转换的数据格式
Data数据格式说明如下:
Ⅰ 需要转换的数据data 为数值
语法格式为:正数格式;负数格式;零的显示格式
# 代表0~9之间的任意数字 0 代表每个零都要显示 $或¥ 代表货币符号 % 百分号 . 小数点 , 逗号
注意:除小数点(.)、逗号(,)能够出现在格式字符#和0之间外,其它字符只能放置在格式串的前面或后面,如果显示格式有多个部分,各部分之间的分号(;)不能省略。
Ⅱ 需要转换的数据data 为字符串
语法格式为:正常字符串格式
@代表字符串中的任意字符 @除外任何字符照原样显示
举个栗子
string("0166767593",(@@)@@@@-@@@@) //显示为(01)6676-7593
Ⅲ 需要转换的数据data为日期
1)年份
yy两位数字表示的年份(如92)
yyyy四位数字表示的年份(如1992)
2)月份
m开头不带0的月份(如9)
mm开头带0的月份(如09)
mmm月份的英文缩写(如Feb)
mmmm月份的英文全称(如February)
3)日
d开头不带0的日数(如9)
dd开头带0的日数(如09)
ddd星期的英文缩写(如Mon)
dddd星期的英文全称(如Monday)
windows系统定义的格式
[General] Windows系统中定义的短日期格式
[LongDate]Windows系统中定义的长日期格式
[ShortDate] Windows系统中定义的短日期格式
Ⅳ 需要转换的数据data为时间
1)小时
h开头不带0的小时(比如6)
hh开头带0的小时(比如06)
2) 分钟
h开头不带0的小时(比如6)
hh开头带0的小时(比如06)
3) 秒
s开头不带0的秒(比如6)
ss开头带0的秒(比如06)
4)上午下午
AM/PM 显示上、下午时间
am/pm显示上、下午时间
A/P显示上、下午时间
a/p显示上、下午时间
5.2 Time 函数
把其他类型数据转换成Time类型的值
语法
Ⅰ 将DateTime类型或第一个值是DateTime或Time的Blob值转换成Time类型的值
Time ( datetime )
Ⅱ 将其值是个有效时间的字符串转换成Time类型的值
Time ( string )
Ⅲ 将表示时、分、秒、以及微秒的整数组合成一个时间值
Time(hour, minute, second {, microsecond })
参数
datetime --> DateTime类型的值或第一个值是DateTime或Time的Blob类型的值 string --> string类型,其值包括一个有效的以字符串形式表示的时间(比如9am或10:25) hour, minute, second {, microsecond } hour–> integer类型,指定时间中的小时,从0到23 minute–>integer类型,指定时间中的分钟,从0到59 second–>integer类型,指定时间中的秒,从0到59 microsecond -->integer类型,可选项,指定时间中的微秒,从0到32767
datetime 转换返回值
Time
成功时返回相应的Time类型值
如果datetime参数中的值不是有效时间或数据类型不兼容,函数返回00:00:00.000000
如果datetime参数的值为NULL,函数返回NULL
字符串转换返回值
Time
成功时返回相应的Time类型值
string参数中的值不是有效格式时间,函数返回00:00:00.000000
如果string参数的值为NULL,函数返回NULL
时分秒毫秒合成时间返回值
Time
成功时返回由hour、minute、second、microsecond 四个参数确定的时间
如果这四个参数中任何一个参数使用了无效值,函数返回NULL
5.3 Date 函数
将其它类型的数据转换为Date类型的数据
语法
将DateTime类型或第一个值是DateTime或Date的Blob值转换成Date类型的值
Date ( datetime )
将有效日期的字符串转换成Date类型的值
Date ( string )
将年、月、日合成一个日期
Date ( year, month, day )
参数
datetime --> DateTime类型的值或第一个值是DateTime或Time的Blob类型的值
string --> string类型,有效字符串形式的日期(比如1992-09-23)
year, month, day
year–> integer类型,指定日期中的年份,用四位数字表示,从0到9999
month–>integer类型,定日期中的月份,用一位或两位数字表示,从1到12
day–>integer类型,指定日期中的号数,用一位或两位数字表示,从1到31
datetime 转换日期返回值
Date
成功时返回相应的Date类型值
如果datetime参数中的值不是有效日期或数据类型不兼容,函数返回1900-01-01
如果datetime参数的值为NULL,函数返回NULL
字符串转换日期返回值
Date
函数执行成功时返回相应的Date类型值。
如果string参数中的值不是有效日期或数据类型不兼容,函数返回1900-01-01
如果string参数的值为NULL,函数返回NULL
年月日合成日期返回值
Date
函数执行成功时返回由year、month、day三个参数确定的日期
如果这三个参数中任何一个参数使用了无效值(比如月份指定为15),函数返回1900-01-01
如果任何参数的值为NULL,函数返回NULL
5.4 DateTime 函数
将其它类型的数据转换为DateTime类型的数据
语法
把日期和时间值组合成DateTime类型的值
DateTime ( date {, time } )
将Blob类型的值转换成DateTime类型的值
DateTime ( blob )
参数
日期和时间值组合成DateTime类型的值
date–>Date类型的日期值 time–>可选参数,Time类型的时间值,省略时,时间默认是00:00:00.000000
Blob类型的值转换成DateTime类型的值
blob–>Blob类型变量 把该变量第一个值转换为DateTime类型的值 ,blob参数也可以是包含blob类型数据的Any类型变量
日期和时间值组合成DateTime类型的值
返回值:DateTime
成功时返回日期和时间组合而成的DateTime类型的值
如果任何参数的值为NULL,函数返回NULL
将Blob类型的值转换成DateTime类型的值
返回值:DateTime
成功时返回相应的DateTime类型值
如果blob参数的值为NULL,函数返回NULL
5.5 Asc 函数
获取字符串第一个字符的ASCII码整数值
语法
Asc ( string )
参数
string–>目标字符串
返回值
integer
行成功时返回string参数第一个字符的ascii值
如果string参数的值为null,函数返回null
5.6 Char 函数
将字符串的第一个字符、Blob变量的第一个值、或一个整数转换成字符
语法
Char ( any )
参数
any–>字符串、Blob变量或整数,也可以是包含上述类型数据的Any类型变量
返回值
Char
返回参数any的第一个字符
如果any参数的值为NULL,函数返回NULL
5.7 Dec 函数
将字符串或Blob值转换成Decimal类型的值
语法
Dec ( strorblob )
参数
strorblob–>string类型变量或Blob类型变量
返回值
Decimal
成功时返回相应的Decimal类型值
如果strorblob参数中的值不是有效数字或数据类型不兼容,函数返回0
如果strorblob参数的值为NULL,函数返回NULL
5.8 Double 函数
字符串或Blob值转换成Double类型的值
语法
Double(strorblob)
参数
strorblob–>string类型变量或Blob类型变量
返回值
Double
成功时返回相应的Double类型值
如果strorblob参数中的值不是有效数字或数据类型不兼容,函数返回0
如果strorblob参数的值为NULL,函数返回NULL
5.9 Integer 函数
将字符串或Blob值转换成Integer类型的值
语法
Integer ( strorblob )
参数
strorblob–>string类型变量或Blob类型变量
返回值
Integer
成功时返回相应的Integer类型值
如果strorblob参数中的值不是有效数字或数据类型不兼容,函数返回0
如果strorblob参数的值为NULL,函数返回NULL
5.10 Long 函数
将其它类型的数据转换为Long类型的值
语法
将两个无符号整数组合成一个长整数值
Long ( lowword, highword )
字符串或Blob值转换成Long类型的值
Long ( strorblob )
参数
将两个无符号整数组合成一个长整数值
lowword -->UnsignedInteger类型,指定长整数中的低位值 highword -->UnsignedInteger类型,指定长整数中的高位值
字符串或Blob值转换成Long类型的值
strorblob–>string类型变量或Blob类型变量
将两个无符号整数组合成一个长整数值返回值
Long
成功时返回由低位值和高位值组合后的长整数值
发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
字符串或Blob值转换成Long类型的值返回值
Long
成功时返回由低位值和高位值组合后的长整数值
发生错误时返回-1
如果任何参数的值为NULL,函数返回NULL
5.11 Real 函数
将字符串或Blob值转换成Real类型的值
语法
Real ( strorblob )
参数
strorblob–>string类型变量或Blob类型变量
返回值
Real
成功时返回相应的Real类型值
如果strorblob参数中的值不是有效数字或数据类型不兼容,函数返回0
如果stringorblob参数的值为NULL,函数返回NULL
5.12 IsDate 函数
判断指定的字符串是否包含有效的日期
语法
IsDate ( strvalue )
参数
strvalue–>string类型,指定要判断的字符串
返回值
Boolean
如果strvalue包含了有效的日期,函数返回TRUE,否则返回FALSE
如果strvalue参数的值为NULL,函数返回NULL
5.13 IsNumber 函数
判断字符串是否是有效的数值
语法
IsNumber ( strvalue )
参数
strvalue–>string类型,指定要判断的字符串
返回值
Boolean
如果strvalue的值为有效数字,函数返回TRUE,否则返回FALSE
如果strvalue参数的值为NULL,函数返回NULL
5.14 IsTime 函数
判断字符串的值是否是有效的时间
语法
IsTime ( strvalue )
参数
strvalue–>string类型,指定要判断的字符串
返回值
Boolean
如果strvalue的值为有效的时间,函数返回TRUE,否则返回FALSE
如果strvalue参数的值为NULL,函数返回NULL
5.15 IsNull 函数
判断值是否是NULL
语法
IsNull(any)
参数
any:任何变量或表达式
返回值
Boolean
如果any的值为NULL,函数返回TRUE,否则返回FALSE
5.16 IsValid 函数
判断对象变量是否已经实例化
语法
IsValid ( objectname )
参数
objectname–>要检测的对象名
返回值
Boolean
如果指定对象已经创建了对象实例,函数返回TRUE,否则返回FALSE
如果参数objectname的值为NULL,函数返回NULL
5.17 SetNull 函数
将指定变量的值设置为NULL。这里的变量可以是除数组、结构、自动实例化对象之外的任何数据类型
语法
SetNull ( anyvariable )
参数
anyvariable–>要将其值设置为NULL的变量
返回值
Integer
成功时返回1,发生错误时返回-1
如果参数的值为NULL,函数返回NULL