ORACLE 系统函数大全SQLSERVER系统函数的异同[转载]

下面是Oracle支持的字符函数和它们的Microsoft SQL Server等价函数。

函数 Oracle Microsoft SQL Server
把字符转换为ASCII :ASCII ASCII
字串连接: CONCAT ————–(expression + expression)
把ASCII转换为字符 CHR, CHAR
返回字符串中的开始字符(左起) INSTR ,—————CHARINDEX
把字符转换为小写 LOWER ———————LOWER
把字符转换为大写 UPPER——————– UPPER
填充字符串的左边 LPAD ——————–N/A
清除开始的空白 LTRIM——————–LTRIM
清除尾部的空白 RTRIM ——————–RTRIM
字符串中的起始模式(pattern) INSTR ——————–PATINDEX
多次重复字符串 RPAD ——————–REPLICATE
字符串的语音表示 SOUNDEX ——————–SOUNDEX
重复空格的字串 RPAD ——————–SPACE
从数字数据转换为字符数据 TO_CHAR ——————–STR
子串 SUBSTR ——————–SUBSTRING
替换字符 REPLACE ——————–STUFF
将字串中的每个词首字母大写 INITCAP ——————–N/A
翻译字符串 TRANSLATE ——————–N/A
字符串长度 LENGTH——————– DATELENGTH or LEN
列表中最大的字符串 GREATEST——————– N/A
列表中最小的字符串 LEAST ——————–N/A
如果为NULL则转换字串 NVL——————– ISNULL Continue reading “ORACLE 系统函数大全SQLSERVER系统函数的异同[转载]”

两阶段提交(two phase commit)

两阶段提交在使用单数据库时没有意义。事务中间件通过XA接口规范使用两阶段提交来完成一个全局事务。
第一阶段,事务中间件请求所有相关数据库准备提交各自事务分支,预提交。当某一数据库收到预提叫请求后,如果允许,则把提交的操作记录下来,同时返回给事务中间件一个同意提交的应答,此时数据库将不能再在该事务分支中加入操作,但事务并没有真正提交。如果无法提交,则回滚所有操作,释放共享资源锁并返回事务中间件一个失败应答。
第二阶段,事务中间件审查所有数据库返回的提交应答,如果所有应答都允许,则事务中间件要求所有数据库做正式提交,此时全局事务才被提交。如果任一预提交被拒绝,事务中间件会要求所有数据库回滚,同时该全局事务被回滚。

以上来自互联网

apache-derby连接jdbc连接url的解析

来自http://db.apache.org/derby/docs/10.4/devguide/devguide-single.htm。我这里只是翻译一下,其实最关键要搞清楚的就是系统文件夹(通常是C:/databases)和类路径(从类路径开始或者从jar文件中开始查找)的区别。

jdbc:derby:db1
•打开系统文件夹中的db1

jdbc:derby:london/sales
•打开数据库lodon/sales,london位于系统文件夹下,sales是london的子目录

jdbc:derby:/reference/phrases/french

•打开数据库 /reference/phrases/french。 unix下,就是从根目录开始的路径。windows下则是C:referencephrasesfrench(如果当前驱动器是C.如果一个包含数据库的jar文件在用户的类路径下,则这个路径是jar文件内的路径。

jdbc:derby:a:/demo/sample
•打开驱动器A中的数据库,路径是demosample

jdbc:derby:c:/databases/salesdb jdbc:derby:salesdb
•这两个连接到相同的数据库 – salesdb.在windows下derby默认的系统路径是C:databases.

jdbc:derby:support/bugsdb;create=true
•在系统路径下创建一个新的数据库 – support/bugsdb。如果不存在,则自动产生相应的文件夹。

jdbc:derby:sample;shutdown=true
•关闭sample数据库。(如果没有启用验证,则不需要提供用户密码)

jdbc:derby:/myDB
•以只读方式连接myDB(位于类路径下)

jdbc:derby:classpath:/myDB
•同样以只读方式连接myDB数据库。使用classpath的原因是,路径下可能存在和数据库同名的文件夹。

jdbc:derby:jar:(C:/dbs.jar)products/boiledfood
•访问只读数据库boiledfood, 位于C:dbs.jar中的products文件夹。

jdbc:derby:directory:myDB
•访问myDB(位于系统文件夹)。使用directory是类路径下可能存在同名文件夹(myDB)

Mysql Tips

#1.import from a text file containing SQL scripts
mysql -u root -p test < e:/PUB/motv.sql