云服务器内容精选
-
流量控制函数 表1 流量控制函数列表 序号 MySQL数据库 GaussDB数据库 差异 1 IF() 支持 expr1入参仅支持bool类型。非bool类型入参若不能转换为bool类型则报错。 若expr2、expr3两入参类型不同且两类型间不存在隐式转换函数则报错。 两入参类型相同时,返回该入参类型。 若expr2、expr3两入参类型分别为NUMERIC、STRING或TIME其中一个时,输出为TEXT类型,MySQL输出为VARCHAR类型。 2 IFNULL() 支持 若expr1、expr2两入参类型不同且两类型间不存在隐式转换函数则报错。 两入参类型相同时,返回该入参类型。 若expr1、expr2两入参类型范畴分别为NUMEIRC、STRING或TIME其中一个时,输出为TEXT类型,MySQL输出为VARCHAR类型。 两入参类型其中一个为FLOAT4类型另一个为numeric范畴中任一类型,返回值为DOUBLE类型。MySQL其中一入参为FLOAT4,另一入参为TINYINT、UNSIGNED TINYINT、SMALLINT、UNSIGNED SMALLINT、MEDIUMINT、UNSIGNED MEDIUMINT、BOOL任一类型时,返回FLOAT4类型,第一个入参为FLOAT4,第二个入参为BIGINT或UNSIGNED BIGINT时,返回FLOAT类型。 3 NULLIF() 支持 GaussDB 中NULLIF()类型推导遵从以下逻辑: 如果两个参数的数据类型不同,且两入参类型存在等值比较操作符,则返回对应等值操作符对应的左值类型,否则会对两入参类型进行强制类型兼容。 若强制类型兼容后,存在等值比较操作符,则返回强制类型兼容后对应等值操作符的左值类型。 若强制类型兼容后,仍找不到对应等值操作符,则报错。 --两入参类型存在等值比较操作符 gaussdb=# select pg_typeof(nullif(1::int2, 2::int8)); pg_typeof ----------- smallint (1 row) --两入参类型不存在等值比较操作符,但在强制类型兼容后可以找到等值比较操作符 gaussdb=# select pg_typeof(nullif(1::int1, 2::int2)); pg_typeof ----------- bigint (1 row) --两入参类型不存在等值比较操作符,且强制类型兼容后也不存在等值比较操作符 gaussdb=# SELECT nullif(1::bit, '1'::MONEY); ERROR: operator does not exist: bit = money LINE 1: SELECT nullif(1::bit, '1'::MONEY); ^ HINT: No operator matches the given name and argument type(s). You might need to add explicit type casts. CONTEXT: referenced column: nullif MySQL输出类型仅与第一个入参类型有关: 第一个入参为tinyint、smallint、mediumint、int、bool时,输出为int类型。 第一个入参为bigint时,输出为bigint类型。 第一个入参为unsigned tinyint、unsigned smallint、unsigned mediumint、unsigned int、bit时,输出为unsigned int类型。 第一个入参为unsigned bigint时,输出为unsigned bigint。 第一个入参为浮点型即float、double、real时,输出为double类型。 第一个入参类型为decimal或numeric类型时,输出为decimal类型。 第一个入参类型为时间类型或字符串类型即date、time、date、datetime、timestamp、char、varchar以及tinytext、enum、set时,输出为varchar类型。 第一个入参类型为text、mediumtext、longtext时,输出为longtext类型。 第一个入参类型为tinyblob时,输出为varbinary类型。 第一个入参类型为mediumblob或longblob时,输出为longblob类型。 第一个入参为blob时,输出为blob类型。 4 ISNULL() 支持 GaussDB中返回值为BOOLEAN类型的t或f,MySQL中返回值为INT类型的1或0。 父主题: 系统函数
-
DBMS_LOB.FREETEMPORARY DBMS_LOB.FREETEMPORARY函数释放默认临时表空间中的临时BLOB或CLOB。在调用FREETEMPORARY之后,释放的LOB定位器标记为无效。 输入:DBMS_LOB.CREATETEMPORARY和DBMS_LOB.FREETEMPORARY 1 2 3 4 5 6 7 8 DECLARE v_clob clob; BEGIN DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION); v_clob := TO_CLOB('abcddedf'); DBMS_OUTPUT.PUT_LINE(v_clob); DBMS_LOB.FREETEMPORARY(v_clob); end; / 输出 1 2 3 4 5 6 7 8 9 DECLARE v_clob clob ; BEGIN /*DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION);*/ v_clob := cast( 'abcddedf' as CLOB ) ; DBMS_OUTPUT.PUT_LINE ( v_clob ) ; /* DBMS_LOB.FREETEMPORARY(v_clob); */ null ; end ; /
-
DBMS_LOB.INSTR DBMS_LOB.INSTR函数从指定的偏移量开始,返回在LOB中第n次匹配模式的位置。 输入:在SQL中使用DBMS_LOB.INSTR 1 2 3 SELECT expr1, …, DBMS_LOB.INSTR(str, septr, 1, 5) FROM tab1 WHERE …; 输出 1 2 3 SELECT expr1, …, INSTR(str, septr, 1, 5) FROM tab1 WHERE … 输入:在PL/SQL中使用DBMS_LOB.INSTR 1 2 3 4 5 6 BEGIN … pos := DBMS_LOB.INSTR(str,septr,1, i); ... END; / 输出 1 2 3 4 5 6 BEGIN … pos := INSTR(str,septr,1, i); ... END; /
-
DBMS_LOB.SUBSTR DBMS_LOB.SUBSTR通过配置参数MigDbmsLob,用户可以指定迁移此函数还是直接保留。 输入:DBMS_LOB.SUBSTR,MigDbmsLob设为true 如果参数MigDbmsLob设为true,则迁移。相反,如果参数MigDbmsLob设为false,则不迁移。 输入 SELECT dbms_lob.substr('!2d3d4dd!',1,5); 输出 If the config param is true, it should be migrated as below: select substr('!2d3d4dd!',5,1); If false, it should be retained as it is: select dbms_lob.substr('!2d3d4dd!',1,5); 输入 SELECT dbms_lob.substr('!2d3d4dd!',5); 输出 If the config param is true, it should be migrated as below: select substr('!2d3d4dd!',1,5); If false, it should be retained as it is: select dbms_lob.substr('!2d3d4dd!',5);
-
DBMS_LOB.CREATETEMPORARY DBMS_LOB.CREATETEMPORARY函数在用户默认的临时表空间中创建一个临时LOB及其对应索引。DBMS_LOB.FREETEMPORARY用于删除临时LOB及其索引。 输入:DBMS_LOB.CREATETEMPORARY和DBMS_LOB.FREETEMPORARY 1 2 3 4 5 6 7 8 DECLARE v_clob clob; BEGIN DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION); v_clob := TO_CLOB('abcddedf'); DBMS_OUTPUT.PUT_LINE(v_clob); DBMS_LOB.FREETEMPORARY(v_clob); end; / 输出 1 2 3 4 5 6 7 8 9 DECLARE v_clob clob; BEGIN -- DBMS_LOB.CREATETEMPORARY(v_clob, TRUE, DBMS_LOB.SESSION); v_clob := CAST('abcddedf' AS CLOB); DBMS_OUTPUT.PUT_LINE(CAST(v_clob AS TEXT)); -- DBMS_LOB.FREETEMPORARY(v_clob); NULL; end; /
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格