润乾——参数和宏的数据类型

来源:互联网 发布:淘宝网led灯 编辑:程序博客网 时间:2024/05/19 17:51

在直接编写SQL的时候,对于不同数据类型的,需要有不同的写法。
    例如,在表T1中,字段a为数值类型,字段b为字符串类型,则以字段a和b进行过滤时,SQL应该写为:

SELECT * FROM T1 WHERE a=数值型条件值 AND b='字符串型条件值'

此外,对于一些特定的数据类型,不同数据库会有不同的写法。
    例如,在表T2中,字段c的数据类型为日期,则以字段c进行过滤时,不同数据库应该有不同的写法:

 MySQL: SELECT * FROM T2 WHERE c='日期型字符串条件值'
 Oracle: SELECT * FROM T2 WHERE c=TO_DATE('日期型字符串条件值', 'YYYY-MM-DD')

而使用带参数的SQL来定义数据集时,编写SQL时,就不需要考虑字段的类型了,因为底层会负责做相应的翻译,而SQL的写法变为:

 SELECT * FROM T1 WHERE a=? AND b=?
SELECT * FROM T2 WHERE c=?

与参数相比较,宏只是单纯进行字符串的替换。

0 0
原创粉丝点击