mysqlpoint类型查询出来后转为字符串

mysqlpoint类型查询出来后转为字符串,第1张

您好,MySQL Point类型是MySQL中的一种数据类型,它表示一个空间上的点,由两个浮点数表示,分别表示点的X坐标和Y坐标。MySQL Point类型可以用来存储地理位置信息,比如城市的经纬度,或者某个地点的经纬度。MySQL Point类型的数据可以用来进行空间查询,比如查找某个范围内的城市,或者查找某个点附近的地点。MySQL Point类型的数据可以转换为字符串,可以使用MySQL的内置函数AsText()来将Point类型的数据转换为字符串,比如:SELECT AsText(point_column) FROM table_name。

    字符串类型的数字默认在比较大小时,往往会遇到一些坑,例如:在10和9比较大小时字符串类型的数字会以为9比10大,但事实上我们想要比较的结果是10>9,这是为什么呢?其实字符串在比较大小时,比较的是它对应的ASCII码,1的ASCII码比9对应的ASCII码小,系统就会认为10<9。 这时我们可以使用MySQL的 CAST() 函数,将想要转换的字符串转换成想要的类型。

    例如:字符串‘123.45’可以转成整数,DECIMAL默认取得整数,也可以使用SIGNED

    当然也可以指定小数位数,5代表了要取的数字位数(整数位和小数位和),2代表要取到的小数位数。

        转换完成就可以用来进行后期的数值比较了!

oracle的是这样的:

Oracle数据库中向BLOB类型字段插入字符串并把插入的BLOB数据转换成字符串显示的方法

首先先在数据库中创建一张表

create table TB_TEST

(

ID NUMBER,

BLB BLOB

)

其次向表中插入一条空数据

insert into tb_test (id,blb) values (1,empty_blob())

最后更改BLOB字段的值

declare

directions BLOB

amount BINARY_INTEGER

offset INTEGER

first_direction VARCHAR2(100)

more_directions VARCHAR2(500)

begin

update set blb = empty_blob() where id = 1--更新和新增一样要将BLOB字段设置为EMPTY_BLOB()

select blb into directions from tb_test where id = 1 for update--一定要用for update锁住记录,否则

--DBMS_LOB.OPEN会出错

DBMS_LOB.OPEN(directions, DBMS_LOB.LOB_READWRITE)

first_direction := '这是我的第一个插入blob的数据,测试一下看一下效果如何,是否能够用pl/sql直接插到插入的数据值!'

amount := LENGTHB(first_direction)--number of characters to write

--有中文必须用LENGTHB

offset := 1--begin writing to the first character of the CLOB

DBMS_LOB.WRITE(directions,

amount,

offset,

UTL_RAW.cast_to_raw(first_direction))

--UTL_RAW.cast_to_raw函数将字符串转换成二进制数

DBMS_LOB.CLOSE(directions)

commit

end

把插入的BLOB数据转换成字符串显示的方式是

select id,UTL_RAW.cast_to_varchar2(blb) blb from tb_test t

这种方式在显示纯文本字符串时显示的是正常的,可当我插入的数据例如是<form id="form1" name="form1"><input type="data" value="hello"></form>这种时在查询显示时就会显示为空。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7275059.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存