日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

InforMix学习

發布時間:2024/1/1 编程问答 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 InforMix学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

用戶、數據庫名和schema

用戶是schema、一個數據庫下有多個schema

數據庫名和schema的格式

數據庫名:schema.表名

Informix大小寫問題

字段名、數據庫名等數據庫中的對象名不區分大小寫,默認小寫

字符串區分大小寫

別名不能用單引號和雙引號修飾,默認小寫,即使有大寫字母,也會變成小寫字母

Informix單引號與雙引號的區別

別名、字段名、數據庫名等數據庫中的對象名不能用單引號和雙引號修飾

字符串既可以用單引號修飾,也可以用雙引號修飾,字符串區分大小寫

分頁功能

需求描述

當查詢結果返回大量數據情況下,比如報表查詢。需要按一定條件排序提供分頁呈現數據。

INFORMIX實現方案

Informix 數據庫提供了非常便捷、高效的SQL。

SELECT SKIP M FIRST N FROM TABLENAME WHERE 1=1 ORDER BY COL;

SQL應用舉例

原始數據

name course score張三 語文 74 張三 數學 99 張三 物理 93 李四 物理 94 李四 語文 78 李四 數學 84

按成績排名輸出,要求每頁呈現2條記錄。如何利用SQL實現分頁功能:

第一頁:

select skip 0 first 2 * from test_rowcols where 1=1 order by score;name course score張三 語文 74 李四 語文 78

第二頁:

select skip 2 first 2 * from test_rowcols where 1=1 order by score;name course score張三 物理 85 李四 物理 86

第三頁:

select skip 4 first 2 * from test_rowcols where 1=1 order by score;name course score李四 數學 94 張三 數學 99

應用總結,從上面的SQL及數據結果輸出來看,我們只需要在我們的應用程序中控制M,N即可。

說明:M 為第幾頁*每頁記錄數-每頁記錄數 N 為每頁記錄數

informix的空字符串與null是兩個概念,兩者不同

相應列必須是字符串類型,才可以MATCHES

常見的SQL語句總結

Informix判斷數據庫是否存在

selectcount(dbsname) as result fromsysmaster:informix.systabnames wheredbsname = lower('ZSH_TEST')

Informix判斷某個數據庫下某張表是否存在

selectcasewhen count(1)>0 then 1else 0end as result fromzsh_test:informix.systables wheretabname = lower('TEST');

函數

CONCAT函數

非字符串類型: 拼接null報錯:select concat(id,null) from czy_test1; 可以直接拼接空字符串:select concat(id,'') from czy_test1;字符串類型: 拼接null:concat(,null) 結果變為null 拼接空字符串:concat(,null) 結果變結果還是列的值

CAST函數

轉化為字符串類型

cast(id as lvarchar)

轉化為數字類型

cast(name as double precision)

COALESCE函數(類似于IFNULL函數)

select COALESCE(cast(id as varchar),'') from czy_test1 select COALESCE(cast(name as double precision),0) from czy_test1

REPLACE函數

select replace(name,'"','\"') from czy_test1

MATCHES的使用詳解(相應列必須是字符串類型,才可以MATCHES)

MATCHES 運算符返回 TRUE ,如果一個字符串與給定的掩碼匹配。

語法
expr [NOT] MATCHES mask [ ESCAPE “char” ]

expr是任何字符串表達式。
mask 是定義過濾器的字符串表達式。
char是指定轉義符號的單個字符。
用法
該mask 可以是字符的任意組合,其中包括 *, ?, [, ], - 和 ^ 通配符:

該 * 星號字符匹配零個或多個字符的任何字符串。
該 ? 問號匹配任何單個字符。
該 [] 括號匹配任何封閉的字符。
在 []內, - (連字符)表示一系列字符。
在 []內, ^ 不能匹配列出的一系列字符,與“-“相反。
ESCAPE子句可用于定義不同于默認反斜杠的轉義字符。它必須用單引號或雙引號括起來。

反斜線(或由 逃逸子句)使操作符將下一個字符視為文字字符,即使它是掩碼列表中的特殊符號之一。這使您可以搜索通配符charachers,如*, ?, [, ] 要么 \。

如果您需要轉義通配符,請記住,字符串常量也必須轉義反斜杠字符。因此,如果要將反斜杠傳遞給MATCHES運算符(通過使用反斜杠作為默認轉義字符),則需要在原始字符串常量中寫入四個反斜杠。

下表顯示了源代碼中使用的字符串常量及其類似的一些示例 模式:

--匹配字符串以159開頭 select * from informix.heboxuan where content matches '159*'--匹配字符串以53結尾 select * from informix.heboxuan where content matches '*53'--匹配包含5的字符串 select * from informix.heboxuan where content matches '*5*'

總結

以上是生活随笔為你收集整理的InforMix学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。