查看: 1348|回复: 5
|
SQL问题,{update set}
[复制链接]
|
|
以下是一段sql
update TABLE set NUM1=1.245,00 ,NUM2=45,55 WHERE SOMEONE='X'
现在的问题是,钱的代号用 ","
这样会造成UPDATE SET出现问题,请问在不改钱的数目和符号下(,)
能不能让这段SQL RUN
当然可以加() 等等,可是我试了
update TABLE set NUM1=(1.245,00) ,NUM2=(45,55) WHERE SOMEONE='X'
update TABLE set (NUM1=1.245,00) ,(NUM2=45,55) WHERE SOMEONE='X'
都不可以...
希望有人能帮我 |
|
|
|
|
|
|
|
发表于 6-10-2005 08:32 PM
|
显示全部楼层
你不需放那符号的。。不然就SET你的FIELD=CURRENCY |
|
|
|
|
|
|
|
楼主 |
发表于 7-10-2005 08:14 AM
|
显示全部楼层
我的DATABASE的FIELD 已经是CURRENCY了,
当我不放 "," 的时候,我发现,本来的45,55(四十五块五毛五分)变成4555(四千五百五十五)
当然这个是有关CONTROL PANEL里面REGIONAL & LANGUAGE....的设置
我总不能要求大家都用"."的。 |
|
|
|
|
|
|
|
发表于 8-10-2005 02:20 PM
|
显示全部楼层
嗯...當這個數字顯示出來的時候, 他是跟 Regional Setting的。
但是, 在我們 Update Table 的時候,我們就要先把它轉成ISO格式,數目中不可以有豆號的那一種。
因為,時期的格式,不管英式或者是美或,我們都一律用 yyyy-mm-dd hh:mm:ss
p/s: 你要用 dd/mm/yyyy也可以,只是它會隨著 Regional Setting跑囉。 |
|
|
|
|
|
|
|
楼主 |
发表于 8-10-2005 10:34 PM
|
显示全部楼层
|
|
|
|
|
|
|
发表于 21-10-2005 02:20 AM
|
显示全部楼层
如果用parameter binding就没有这个问题。
你应该用parameter binding来pass-in value, 最好用stored procedure, 尽量不要在application里construct sql query, 因为这样很容易被hack 掉(SQL injection)。
如果要更改data的display format (不根据 Regional Setting),可以用convert, cast 和COLLATE。
自己查SQL book online, 懒得一一解释。 |
|
|
|
|
|
|
| |
本周最热论坛帖子
|