作者regionbbs (小朱)
看板Database
标题Re: [SQL ] 日期问题
时间Tue Apr 28 14:02:39 2009
※ 引述《ntouckcm (知足常乐)》之铭言:
: 请问一下
: datetime 形式是否可以直接比对
: cmd ="SELECT * FROM 科别 WHERE 病历号码='"&id&"' AND
: 日期= '2009/4/24 下午 04:00:00'"
: 他就出现
: Microsoft OLE DB Provider for ODBC Drivers 错误 '80040e07'
: [Microsoft][ODBC SQL Server Driver][SQL Server]从字元字串转换到 datetime 时
: ,转换失败。
: ------------------------------------------------------------
: 而我改成
: cmd ="SELECT * FROM 科别 WHERE 病历号码='"&id&"' AND
: 'CONVERT(varchar,日期,120)'= '2009/4/24 下午 04:00:00'"
: 他就出现
: HTTP 500 内部伺服器发生错误
: 请问是否可以比对时间呢?谢谢~
1.
日期时间字串中不可以有中文字,除非哪天 SQL Server Team 中有台湾人,而他
把"上午/下午"的辨识做到 SQL Server 中。
2.
要比对日期时间,可以多善用日期与时间函数来做。
3.
你这个 SQL 写法,如果哪天被人家用 SQL Injection 入侵的话,自行负责吧...
多用参数化查询来写会好非常多。
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 219.84.117.20