佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

查看: 1347|回复: 5

SQL问题,{update set}

[复制链接]
发表于 6-10-2005 05:12 PM | 显示全部楼层 |阅读模式
以下是一段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'
都不可以...
希望有人能帮我
回复

使用道具 举报


ADVERTISEMENT

发表于 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....的设置
我总不能要求大家都用"."的。
回复

使用道具 举报

ipserverOne 该用户已被删除
发表于 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 | 显示全部楼层
可以知道VB.NET 如何把钱轉成ISO格式吗?
回复

使用道具 举报

发表于 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, 懒得一一解释。
回复

使用道具 举报

Follow Us
您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 11-11-2024 04:27 AM , Processed in 0.132486 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表