end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転しました

decimal型には整数部のない小数を登録できるみたい

excelでは、「-.12」のように入力しても「-0.12」のように変換されることは知っていましたが、mysqlでも同様?のことができるとは驚いた。

create table test_val (
id              int primary key AUTO_INCREMENT,
val             decimal(5,2)
);
insert into test_val (val) values(-.12);
select * from test_val;

実行結果

mysql> create table test_val (
    -> id              int primary key AUTO_INCREMENT,
    -> val             decimal(5,2)
    -> );
Query OK, 0 rows affected (0.02 sec)

mysql> 
mysql> insert into test_val (val) values(-.12);
Query OK, 1 row affected (0.00 sec)

mysql> select * from test_val;
+----+-------+
| id | val   |
+----+-------+
|  1 | -0.12 |
+----+-------+
1 row in set (0.01 sec)

perlRegexp::Common::numberで、「-.12」をdecimalと判定する正規表現を作成しようとしましたが、できませんでした。やはり整数部のない小数は分かりづらいと思う。