Oracle Number Format

Here you will find list of Oracle Number Format elements:

Format elementDescription
,Returns a comma in the specified position it is possible to specify multiple commas.
.Returns a period in the specified position.
$Returns a leading dollar sign.
0Returns leading or trailing zeros (0).
9Returns value with the specified number of digits with a leading space if positive or with a leading minus if negative.
BReturns blanks for the integer part of a fixed point number when the integer part is zero.
CReturns in the specified position the ISO currency symbol. Defoult currency value is set in the NLS_ISO_CURRENCY parameter.
DReturns in the specified position the decimal character, which is the current value of the NLS_NUMERIC_CHARACTER parameter. The default is a period.
EEEEReturns a value in scientific notation.
FMReturns a value without blanks (leading and trailing).
GReturns in the specified position the group separator. The defoult value is set in the NLS_NUMERIC_CHARACTER parameter. You can specify multiple group separators in a number format model.
LReturns in the specified position the local currency symbol. Defoult currency value is set in the NLS_CURRENCY parameter.
MIReturns negative value with a trailing minus (-)  sign.

Returns positive value with a trailing blank. 

PRReturns negative value in <>.

Returns positive value with a leading and trailing blank.

RNReturns a value as Roman numerals in uppercase.

Allowed value is an integer between 1 and 3999. 

rnReturns a value as Roman numerals in lowercase.

Allowed value is an integer between 1 and 3999.

SReturns value with a leading or trailing minus (-) or plus (+) sign.
TMThe text minimum number format model returns the smallest number of characters possible. This element is case insensitive.
UReturns in the specified position the defoult currency symbol. The current value of the NLS_DUAL_CURRENCY parameter.
VReturns a value multiplied by 10n and if necessary, round it up.
XReturns the hexadecimal value of the specified number of digits. If the specified number is not an integer, Oracle Database will round it to an integer.

In examples below are shown conversions from number to char with different numbers and format elements.

SELECT TO_CHAR(number, 'format_element')
  FROM dual;
number‘format_element’results
-5555555555S'55555-'
099.99' .00'
+0.599.99' .50'
-0.599.99' -.50'
+0.5590.99' 0.55'
-0.590.99' -0.50'
09999' 0'
+222.55999.99' 222.55'
-222.55999.99'-222.55'
+222.55FM999.09'222.55'
+555.0FM999.009'555.00'
+55.55L99.99' $55.55'
+55.5FML99.9'$55.5'

SQL Performance Tuning

PHP5.4如何连接MSSql Server2005

windows系统下,PHP5.3以上的版本已经不支持mssql扩展,所以如果你需要和sql server通信需要到http://msdn.microsoft.com/en-us/sqlserver/ff657782.aspx

自行下载微软提供的The SQL Server Driver for PHP。

下载后解压缩,将所有的.dll文件拷贝到php安装目录的ext文件夹中,接下来打开php.ini,添加以下语句打开php_sqlsrv和php_pdo_sqlsrv扩展:
——————————————————–
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_ts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_ts_vc6.dll 
—————————————————

这里的53表示的是php5.3,如果你的是5.2版,就改成52,如果你的PHP版本是线程安全的,那么你的PHP安装目录下应该有一个php5ts.dll,与这里的两行语句对应,如果是php5nts.dll,那么上面的语句应该是:
—————————————————————-
[PHP_PDO_SQLSRV]
extension=php_pdo_sqlsrv_53_nts_vc6.dll
[PHP_SQLSRV]
extension=php_sqlsrv_53_nts_vc6.dll 
—————————————————-

压缩包里有各个版本对于的dll文件,大家可以去仔细核查。

开启扩展后,重启apache,这样就可以连接sqlserver了,但是还有一点要注意,如果你没有安装Microsoft SQL Server 2008 R2 Native Client,

必须去http://msdn.microsoft.com/en-us/library/cc296170(SQL.90).aspx下载安装,因为微软的这个扩展包需要这个支持。

一切妥当之后,就可以写php代码了,如果你下载了The SQL Server Driver for PHP,那么在解压缩后的文件夹里有一个帮助文档,你可以很容易的找到示例,

在这里站长介绍一个简单的例子:
<?php
//本地测试的服务名
$serverName = “(local)”;
//使用sql server身份验证,参数使用数组的形式,一次是用户名,密码,数据库名
//如果你使用的是windows身份验证,那么可以去掉用户名和密码
$connectionInfo = array( “UID”=>”root”,
                         “PWD”=>”root2010″,
                         “Database”=>”master”);

$conn = sqlsrv_connect( $serverName, $connectionInfo);

if( $conn )
{
     echo “Connection established.\n”;
}
else
{
     echo “Connection could not be established.\n”;
     die( print_r( sqlsrv_errors(), true));
}
?>

如果连接不成功,重启sql server再试。

[应用软件] SQL Server 2012 Developer Edition (MSDN) 简体中文开发者版

文件名:cn_sql_server_2012_developer_edition_x86_x64_dvd_813281.iso
语言:Chinese – Simplified
SHA1:E543B78AFBE934DD81FE281C21123575B8771923
只有 Express、Standard、Developer 这 3 个版本可以安装在非 Server 系统上哦。而且从功能上来说 Developer 和 Enterprise 版本一模一样,只是多支持了非服务器系统。另外,SQL Server 2012,只能装在 Vista、Win7、Server 2008 和 Server 2008 R2 上面

   1:  ed2k://|file|cn_sql_server_2012_developer_edition_x86_x64_dvd_813281.iso|5054384128|AD91243654BB2FB7F74F26654134B91B|/
一起来加速吧!

补充内容 (2012-3-12 09:21):

MSDN 里有一句:For features supported by Evaluation and Developer editions see the SQL Server Enterprise feature set.

而且没有独立的 x64 版,都是 x86 and x64。

补充内容 (2012-3-12 09:23):

SQL Server 2012 Developer edition lets developers build any kind of application on top of SQL Server. It includes all the functionality of Enterprise edition, but is licensed for use as a development

来源:远景 - windows7,windows8,旗舰版,系统下载,主题

MySQL:讨人喜欢的 MySQL replace into 用法(insert into 的增强版)

讨人喜欢的 MySQL replace into 用法(insert into 的增强版)

在向表中插入数据的时候,经常遇到这样的情况:1. 首先判断数据是否存在; 2. 如果不存在,则插入;3.如果存在,则更新。

在 SQL Server 中可以这样处理:

 if not exists (select 1 from t where id = 1) insert into t(id, update_time) values(1, getdate()) else update t set update_time = getdate() where id = 1

那么 MySQL 中如何实现这样的逻辑呢?别着急!MySQL 中有更简单的方法: replace into

replace into t(id, update_time) values(1, now());

replace into t(id, update_time) select 1, now();

replace into 跟 insert 功能类似,不同点在于:replace into 首先尝试插入数据到表中,

1. 如果发现表中已经有此行数据(根据主键或者唯一索引判断)则先删除此行数据,然后插入新的数据。

2. 否则,直接插入新数据。

要注意的是:插入数据的表必须有主键或者是唯一索引!否则的话,replace into 会直接插入数据,这将导致表中出现重复的数据。

MySQL replace into 有三种形式:

1. replace into tbl_name(col_name, ...) values(...) 
2. replace into tbl_name(col_name, ...) select ... 
3. replace into tbl_name set col_name=value, ...

前两种形式用的多些。其中 “into” 关键字可以省略,不过最好加上 “into”,这样意思更加直观。另外,对于那些没有给予值的列,MySQL 将自动为这些列赋上默认值。

全球十大恐怖旅游禁区

第1名:经过也可能遇难的死亡之洞—印尼爪哇谷洞

恐怖震撼星级:★★★★★

印尼爪哇谷洞最为恐怖奇异。此谷中有6个大山洞,洞呈喇叭状,都是大陷阱。 不用说“误入”谷洞者性命不安,就是保持距离者也难幸免。当人或者动物从洞口经过时,会被一种强大的吸引力“拖入”谷洞而吃掉。就是离洞口还有6至7米距离,也会被魔口“吸”进去,一口吞下。据侦察,谷洞里已是白骨累累,难以分清哪些是人骨,哪些是兽骨。

第2名:难免一死的死亡地带—堪察加半岛

恐怖蹊跷星级:★★★★☆

前苏联死亡谷在堪察加半岛上:这条长2000米,宽l00-300米的死亡谷中,地势崎岖,怪石嶙峋,狗熊、狼獾、野猪等野生动物死亡相藉,白骨横陈,满目凄凉。误入该地的人类也不能幸免。据统计:至少有30个人丧命于此.据推测,谷中积聚着有害气体。可令人惊奇的是,紧挨此谷的村舍,却不曾受到有害气体影响。

第3名:无脑婴儿产地—巴西库巴唐

恐怖恶心星级:★★★★

在巴西热带郁郁葱葱的群山峻岭的掩映中,坐落着一个令巴西人闻之色变的城市——库巴唐。20年前,数十个在这个城市里出生的婴儿竟然没有脑子,库巴唐在一夜之间得到了一个充满恐惧的外号——“死亡之谷”。

在库巴唐市内的烟囱,不间断地释放着色彩斑斓的工业废气,市里也弥漫着一股腐臭的气味,不过熟悉库巴唐的人都知道,这20年来,当地政府已经付出了巨大的努力,摘掉了“地球上污染最严重的城市”的帽子。

但是对于环保组织和科学家们来说,库巴唐仍然是一个危险的地区,这里被严重污染的空气、土壤以及水资源都在悄无声息地慢慢吞噬生命。科研人员发现,库巴唐市的居民患各种癌症的几率高得惊人:在库巴唐及毗邻的桑托斯市等地区,膀胱癌患者的比率比其他城市要高6倍;神经系统(包括脑部)的癌症患病率是其他城市的4倍;另外,肺癌、咽喉癌、口腔癌和胰腺癌的患病率也是其他城市的2倍。

第4名:人间地狱动物天堂—美国死人谷

恐怖离奇星级:★★★☆

在美国加州与内华达州相连处,有一条世界上特大山谷,长达300公里,窄处宽6公里,阔处有26公里。山谷两岸,悬崖绝壁,险象环生,见者不寒而栗,闻者谈之色变。

1949年春,有一支做黄金美梦的勘探队欣然前往“未开垦的处女地”,结果有去无回,全军覆没。以后,多次探险者试图揭开大死亡谷之迷,后果与探金队毫无二致。

后来,科学家用航空侦察,惊诧地发现,这个人间活地狱,竟是禽兽大乐园。据航测统计,在这死人谷里,有鸟儿近300种,野驴约2000头,蛇类20余种,蜥蜴也有17种。它们或飞、或爬、或跑、或卧,好不逍遥。此谷何以杀人而豢养禽兽,奥秘还未揭晓。

第5名:“动物的墓场人类天堂”—意大利死亡谷

恐怖迷惑星级:★★★

意大利那不勒斯和瓦维尔诺附近的死亡谷,专门夺取动物的生命,对人体却无损,被称为“动物的墓场”。

据科学家们的调查,该谷中发现的各种死于非命的飞禽走兽、大小动物的尸骸已超过4000只(头),鸟类几十种,爬行类十九种,哺乳动物也有上十种。它们的死,不是自相残杀,也非集体自杀,更非人为,是何根源,至今不明。更有意思的是,该谷杀伐禽兽,而过人则无加害之实。据统计,每年在此死于非命的动物多达3万多头。

第6名:利比亚:战争硝烟不断

恐怖致命星级:★★★

自今年2月16日,骚 乱 及 流 血事 件不断升级,如今的利比亚笼罩在一片血腥、孤立与不安之中。

这个非洲国家成为如今世界各国为之“色变”的“禁飞区”,利比亚何时才能恢复昔日热情、浪漫?

利比亚首都的黎波里被称为“地中海的白色新娘”,的黎波里(Tripoli)是利比亚的首都和最大港口,位于利比亚的西北部、地中海南岸。的黎波里自古以来就是贸易中心和战略要地。

第7名:不再无人的无人区—藏北

恐怖荒凉星级:★★☆

在青藏高原的中部,有一块被各国学者和专家称为“生命的禁区”的地方,这里便是藏北无人区。

“无人区”在西藏的西北部,面积有60万平方公里,平均海拔高5000米。这片地方除了高山、湖泊、草原和野生动物,几乎荒芜人烟。历史上,曾经有一些人去探险,可是不是因为缺吃,就是因为迷失方向,很少有人生还,“无人区”在人们的印象中,是一个荒凉、恐怖的世界。

“无人区”给人的感觉首先是自然风光的美丽,这里蓝天和大地的色彩对比强烈,没有任何空气污染,空气透明度很高,一切看起来都很清晰,往往在距离上给人以错觉。

这里的美是一种粗犷的美,尤其是其腹地“双湖”一带,给人的感觉就像不在地球上,这里的景色已经远远超出了许多人以往的审美经验。

“无人区”可以说是一个巨大的天然野生动物园。这里的草原很宽广,只是青草生长期短,但更多的还是大片的戈壁。当汽车在没有公路的大地上自由自在奔驰的时候,常常可以看到成群的野马和羚羊群,其他如:鹿、藏野驴、野牦牛甚至狼、熊等等也常常出现在视野里,然后消失在远方。

“无人区”生存条件很恶劣,这里空气中的含氧量很低,气候变化反复无常,湖泊虽然很多,但都是盐碱水。近些年来,在政府的组织下,一些牧民迁往“无人区”,所以“无人区”已经不再无人,但去往那里的朋友还是要多加小心,毕竟,这里曾经是人类的“禁区”。

第8名:切尔诺贝利核电站

恐怖无形星级:★★☆

1986年4月26日,切尔诺贝利核电站发生核事故,如今25年已经过去,乌克兰政府在年初宣布切尔诺贝利核电站废墟周围的地区已经可以让游客参观了,乌政府希望2012年举办欧洲杯时,可以吸引近100万游客到切尔诺贝利地区旅游。但游客要去哪里、他们呆多长时间,以及旅游期间的饮食,都将受到严格控制,因此放射风险“可以忽略不计”。

而在美国国家癌症研究所研究切尔诺贝利核事故造成的影响的科学家却拒绝对此进行任何评论,但是一位与之无关的生物学家指出,很多其他探险旅游也并非没有任何风险,例如攀登很陡峭的山。

不过禁区的其他部分仍很危险,例如放射性废物处置点、用来掩埋被毁核反应堆的掩体和从反应堆涌出的大量放射性材料堆积处红色森林。

放射性铯、锶和钚 仍然存在,尤其是钚,它的衰变期长达数千年。库马克说:“然而,来这里的游客将会受到严密监控,以确保他们不会误入这些存在大量放射物的高风险地区。游客 不会受到放射物威胁,他们不是想去哪里就去哪里。”

第9名:四川瓦屋山迷魂凼 死亡纬度线上旅游禁区

恐怖神秘星级:★★☆

瓦屋山座落于四川眉山市,是我国最大的一片原始天然林,总面积88万亩。迷魂凼地处瓦屋山东南方,面积1000多亩,多为平地隆起如馒头状的土丘,形状大小基本一致,据说瓦屋山迷魂凼一般人走进去出不来,很多探险家在里面迷失甚至饿死。

“迷魂凼,奇中奇,进得里面来,生还不容易。”由于迷魂凼的神秘恐怖,当地政府在开发瓦屋山资源时,不得不将其划为旅游禁区,防止游人误入迷魂凼。也由于它处的地理位置与百慕大三角在同一纬度上,被国内的地质工作者和探险者称为陆地上的“百慕大三角”。许多年来,“瓦屋山迷魂凼现象”给世人留下一串串难解之谜,也引起了国内外专家、学者、旅游、探险以及多方人士的浓厚兴趣。

第10名:最多人征服过的死亡地带—罗布泊

恐怖神秘星级:★★

罗布泊曾有过许多名称,有的因它的特点而命名,如坳泽、盐泽、涸海等,有的因它的位置而得名,如蒲昌海、牢兰海、孔雀海等。元代以后,称罗布淖尔。汉代,罗布泊“广袤三百里,其水亭居,冬夏不增减”,它的丰盈,使人猜测它“潜行地下,南也积石为中国河也”。这种误认罗布泊为黄河上源的观点,由先秦至清末,流传了2000多年。

到公元四世纪,曾经是“水大波深必汛”的罗布泊西之楼兰,到了要用法令限制用水的拮据境地。清代末叶,罗布泊水涨时,仅有“东西长八九十里,南北宽二三里或一二里不等”,成了区区一小湖。1921年,塔里木河改道东流,经注罗布泊,至五十年代,湖的面积又达2000多平方公里。60年代因塔里木河下游断流,使罗布泊渐渐干涸,1972年底,彻底干涸。

罗布泊,三个字给人的感觉更多的是神秘,而不是单单的地域名称。有一段文字对她的描绘非常贴切:“罗布泊其实是汇入多水湖之意,为内陆最大的移动咸水湖。大自然曾造就了5400平方公里湖面的罗布泊,在最近的百年间,湖水已干涸见底,如今,展现给我们的是一片荒芜的景象:湖泊干涸、河水断流、古堡沧桑,生命仿佛在这里嘎然停止。

这难道就是当年唐玄奘西去取经的大道吗?这难道就是马可.波罗从威尼斯至古老东方经过的地方吗?当年丝绸路上的驼铃、楼兰古城的歌舞一切都已消失,只留下那不解之谜,让探险者冒生命之险去挖掘、去破解……”